如何使用JSON.Net解析已知JSON结构中未知JSON对象类型的集合



我正在尝试解析一些具有已知顶级模式的JSON。然而,模式中有一个JSON对象,它可以包含各种类型的JSON对象。

示例

{
  "knownfield1": data,
  "knownfield2": data,
  "knownfieldcollection":
    {
       "fieldofunknowntype1": "string data",
       "fieldofunknowntype2": 
         {
           "subunknownfield1": "string data",
           "subunknownfield1": null
         },
       "fieldofunknowntype3": null
    }
}

我想创建一个包含已知字段映射的对象,但可以动态读取中的未知字段。我曾尝试使用Json.Net JToken和JObject,但无法使其工作。我不断得到递归的JToken异常。

任何关于这方面的建议都会很棒。非常感谢。

我得到的例外情况:

Type 'Newtonsoft.Json.Linq.JToken' is a recursive collection data 
contract which is not supported. Consider modifying the definition of 
collection 'Newtonsoft.Json.Linq.JToken' to remove references to itself.

--编辑--对象的集合类型错误,已修复此问题。

我们赢了。DBC一针见血。我有一些遗留的WFC反序列化,它造成了问题。一旦我确保所有的DataContract代码都被完全清除,并用正确的JSON.Net标记和调用替换了所有内容,它就非常有效。

感谢大家的支持。

相关内容

  • 没有找到相关文章