c# - 如何检查 C# 的 json 对象中是否存在嵌套路径?
问题描述
假设想检查 json 对象中是否存在路径“L1.L2.L3”。有一种方法可以逐步检查级别(如何检查 json 对象是否具有某些属性),但我希望省去麻烦,而是检查路径。
解决方案
您可以使用 newtonsoft.json 中的 SelectToken 方法(令牌为空,当没有找到匹配项时):
string json = @"
{
""car"": {
""type"": {
""sedan"": {
""make"": ""honda"",
""model"": ""civics""
}
},
}
}";
JObject obj = JObject.Parse(json);
JToken token = obj.SelectToken("car.type.sedan.make",errorWhenNoMatch:false);
Console.WriteLine(token.Path + " -> " + token?.ToString());
推荐阅读
- android - Align_parent 以编程方式重置
- javascript - 添加日期格式时DataTable中的页面长度不起作用
- python - 在 OpenAI Gym 环境中跟踪实体的位置和速度
- r - 对 R 中数据帧上所有列的包括 NA 的条目进行排序
- python - Django queryset.values() 方法的 SQLAlchemy 等效项
- swagger - Swagger UI 不显示参数内容类型
- hibernate - JPA Hibernate ManyToMany JOIN 查询 ohengine.jdbc.spi.SqlExceptionHelper : ERREUR: erreur de syntaxe sur ou près de « where »
- javascript - 如何在 Javascript/Typescript 中正确使用传播运算符
- php - 使用 Imagick 进行文件转换
- swift - 在 SwiftUI 中重用 MetalView 而不会破坏其 backingFactor