首页 新闻 会员 周边 捐助

关于(JObject)JsonConvert.DeserializeObject() 解析键值对!

0
悬赏园豆:10 [已关闭问题] 关闭于 2016-11-21 09:04

string str="{"01-2-001":10,"01-2-001":20,"04-5-104":20}"

(JObject)JsonConvert.DeserializeObject(str);异常重复kay

怎么解决这问题, 我这边的 kay 都是动态的。谢谢,

凡事无绝对!的主页 凡事无绝对! | 初学一级 | 园豆:6
提问于:2016-10-19 11:55
< >
分享
所有回答(4)
0

属性重复了,就算是动态生成的也不能出现重复的属性名称啊

balahoho | 园豆:2050 (老鸟四级) | 2016-10-19 12:12

 那我应该怎么解决这个问题啊? 要是键没有重复了可以解析出来要是重复了应该用什么解析呢?

支持(0) 反对(0) 凡事无绝对! | 园豆:6 (初学一级) | 2016-10-19 12:43

 我实际数据是有重复的。

支持(0) 反对(0) 凡事无绝对! | 园豆:6 (初学一级) | 2016-10-19 12:43

@凡事无绝对!: 那你就另寻出路吧,想反序列化是不可能的

支持(0) 反对(0) balahoho | 园豆:2050 (老鸟四级) | 2016-10-19 14:05
0

只想说一句,这种键有重复键的数据想放到json、dictionary、xml中是行不通的。

~扎克伯格 | 园豆:1923 (小虾三级) | 2016-10-19 13:55

只能解析字符串啊?

支持(0) 反对(0) 凡事无绝对! | 园豆:6 (初学一级) | 2016-10-19 14:04

@凡事无绝对!: 你先说你要实现什么功能

 

支持(0) 反对(0) ~扎克伯格 | 园豆:1923 (小虾三级) | 2016-10-19 14:06

@凡事无绝对!: 想问你一个问题string是object吗?

支持(0) 反对(0) ~扎克伯格 | 园豆:1923 (小虾三级) | 2016-10-19 14:07

@IT民工-杰:  我现在要修改键的值譬如:"{"01-2-001":10,"01-2-001":20,"04-5-104":20}"  将01-2-001 替换为 ss12333

支持(0) 反对(0) 凡事无绝对! | 园豆:6 (初学一级) | 2016-10-19 14:07

@凡事无绝对!: 01-2-001按你那样说难道不应该是键吗?要修改此键的值不是10或者20吗?

支持(0) 反对(0) ~扎克伯格 | 园豆:1923 (小虾三级) | 2016-10-19 14:09

@IT民工-杰: 修改01-2-001。修改键,其实无论修改键还是值都解析不出来啊!

支持(0) 反对(0) 凡事无绝对! | 园豆:6 (初学一级) | 2016-10-19 14:15

@凡事无绝对!: 首先你的str如果是json数据,我想问你json数据里面可以有重复的键吗?当你反序列化为对象时当然会报错

支持(0) 反对(0) ~扎克伯格 | 园豆:1923 (小虾三级) | 2016-10-19 14:23

@IT民工-杰:  可以有的, 这个json是拼的 ,字符串是标准的json

支持(0) 反对(0) 凡事无绝对! | 园豆:6 (初学一级) | 2016-10-19 14:28

@凡事无绝对!:当我没说。

支持(0) 反对(0) ~扎克伯格 | 园豆:1923 (小虾三级) | 2016-10-19 14:33

@IT民工-杰: 只能解析字符串了啊?

支持(0) 反对(0) 凡事无绝对! | 园豆:6 (初学一级) | 2016-10-19 14:39
0

JObject实现IDictionary,重复的key你让它怎么处理?

反过来说,如果可以反序列化,那么通过这个key获取到的value是哪个或者是什么?

你还是拿正则来匹配后做逻辑吧

\"([^\"]+)\":(\d+)|(\"[^\"]+\")

 

Daniel Cai | 园豆:10424 (专家六级) | 2016-10-20 10:39
0

最终我是解析字符串处理的!

凡事无绝对! | 园豆:6 (初学一级) | 2016-10-20 11:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册