【发布时间】:2013-04-17 08:57:08
【问题描述】:
我正在尝试使用 json.net 解析 json 文件。文件是这样的
{X:
{
Title:"foo",
xxxx:xxxx
}
}
{Y:
{ZZ:
{Title: "bar",...}
}
}
我正在尝试递归处理所有具有 Title 属性的对象的结构。但我对JToken、JProperty、JContainer、JValue、JObject 感到困惑。阅读源代码并没有让我变得更聪明,而且这些示例都没有帮助。我想要一些类似的东西
WalkNode(node, Action<Node> action)
{
foreach(var child in node.Children)
{
Action(child);
WalkNode(child);
}
}
Parse()
{
WalkNode(root, n=>
{
if(n["Title"] != null)
{
...
}
});
}
【问题讨论】:
-
一些问题:上面的例子不是有效的JSON。属性 X 和 Y 的包含对象是否应该在一个数组中,或者您是否打算让 X 和 Y 在同一个包含对象中?此外,您需要遍历 JSON 层次结构中的任何位置,还是只是嵌套的对象和属性?
标签: c# recursion json.net recursive-descent