首页 > 解决方案 > 处理复杂的匿名 JSON 对象

问题描述

我有复杂的匿名 JSON 字符串。

例如:

{ someData: { test1: { test2: { test4: "data" }, test3: "my text" } } }

我需要在这个 JSON 中找到一个属性。因此,例如,如果 JSON 包含someData.test1.test3属性,那么我需要使用该属性的值my text。有没有一种简单的方法(处理任何级别的嵌套)?

标签: c#json.net-corejson.net

解决方案


您可以使用 newtonsoft.json 将此 json 解析为 JToken 使用

JToken token = JToken.Parse("{ \"someData\": { \"test1\": { \"test2\": { \"test4\": \"data\" }, \"test3\": \"my text\" } } }");

然后使用 SelectToken 您可以评估路径并获得所需的值。

JToken result = token.SelectToken("$.someData.test1.test3");

希望这可以帮助!

参见 DotNetFiddle:https ://dotnetfiddle.net/7cyRzv


推荐阅读