我正在尝试解析一些具有已知顶级模式的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标记和调用替换了所有内容,它就非常有效。
感谢大家的支持。