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

时间:2016-04-07 00:36:55

标签: c# json json.net

我正在尝试解析一些具有已知顶级架构的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.

- edit-- 对象的Mistyped Collection,修复了它。

1 个答案:

答案 0 :(得分:0)

我们有一个胜利者。 DBC击中了头部。我有一些WFC反序列化遗留下来,这引起了问题。一旦我确保所有DataContract代码都被完全清除并用适当的JSON.Net标签和调用替换了所有代码,它就能很好地工作。

谢谢大家的支持。