string str="{"01-2-001":10,"01-2-001":20,"04-5-104":20}"
(JObject)JsonConvert.DeserializeObject(str);异常重复kay
怎么解决这问题, 我这边的 kay 都是动态的。谢谢,
属性重复了,就算是动态生成的也不能出现重复的属性名称啊
那我应该怎么解决这个问题啊? 要是键没有重复了可以解析出来要是重复了应该用什么解析呢?
我实际数据是有重复的。
@凡事无绝对!: 那你就另寻出路吧,想反序列化是不可能的
只想说一句,这种键有重复键的数据想放到json、dictionary、xml中是行不通的。
只能解析字符串啊?
@凡事无绝对!: 你先说你要实现什么功能
@凡事无绝对!: 想问你一个问题string是object吗?
@IT民工-杰: 我现在要修改键的值譬如:"{"01-2-001":10,"01-2-001":20,"04-5-104":20}" 将01-2-001 替换为 ss12333
@凡事无绝对!: 01-2-001按你那样说难道不应该是键吗?要修改此键的值不是10或者20吗?
@IT民工-杰: 修改01-2-001。修改键,其实无论修改键还是值都解析不出来啊!
@凡事无绝对!: 首先你的str如果是json数据,我想问你json数据里面可以有重复的键吗?当你反序列化为对象时当然会报错
@IT民工-杰: 可以有的, 这个json是拼的 ,字符串是标准的json
@凡事无绝对!:当我没说。
@IT民工-杰: 只能解析字符串了啊?
JObject实现IDictionary,重复的key你让它怎么处理?
反过来说,如果可以反序列化,那么通过这个key获取到的value是哪个或者是什么?
你还是拿正则来匹配后做逻辑吧
\"([^\"]+)\":(\d+)|(\"[^\"]+\")
最终我是解析字符串处理的!