我有一个JSON字符串,我希望包含重复键,我无法让JSON.NET满意.
我想知道是否有人知道(也许使用的最佳方法JsonConverter
?)来获得JSON.NET更改JObject
的孩子JObjects
进入到JArrays
当它看到重复键的名字呢?
// For example: This gives me a JObject with a single "JProperty\JObject" child.
var obj = JsonConvert.DeserializeObject<object>("{ \"HiThere\":1}");
// This throws:
// System.ArgumentException : Can not add Newtonsoft.Json.Linq.JValue to Newtonsoft.Json.Linq.JObject.
obj = JsonConvert.DeserializeObject<object>("{ \"HiThere\":1, \"HiThere\":2, \"HiThere\":3 }");
Run Code Online (Sandbox Code Playgroud)
我试图反序列化的实际JSON要复杂得多,并且重复项嵌套在多个级别.但上面的代码说明了为什么它失败了.
我知道JSON是不正确的,这就是为什么我要问JSON.NET是否有办法解决这个问题.为了论证,我们说我无法控制JSON.实际上我确实为父对象使用特定类型,但遇到问题的特定属性将是字符串或另一个嵌套的JSON对象.由于这个原因,失败的属性类型是"对象".