c# - 处理复杂的匿名 JSON 对象
问题描述
我有复杂的匿名 JSON 字符串。
例如:
{ someData: { test1: { test2: { test4: "data" }, test3: "my text" } } }
我需要在这个 JSON 中找到一个属性。因此,例如,如果 JSON 包含someData.test1.test3
属性,那么我需要使用该属性的值my text
。有没有一种简单的方法(处理任何级别的嵌套)?
解决方案
您可以使用 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
推荐阅读
- sql - 基于 3 个领域的学生成绩排名
- c# - IIS 中的 Windows 身份验证问题
- powershell - 使用 urn 的 Powershell/Outlook 高级搜索
- solr - Solr 嵌套连接
- angular - localhost 在运行测试用例后拒绝连接显示
- c# - Azure Function .Net 5 使用 ServiceBusTrigger
- telegram - 如何让 Telegram 机器人向群组发送通知?
- mongodb - 在这种情况下,为什么 $gt 运算符在没有 $expr 的情况下不起作用?
- ruby-on-rails - RubyZip 不上传相同的文件
- android-jetpack-compose - 如何在jetpack compose的导航中传递对象?