Nat*_*tan 3 json json.net jsonpath
我正在尝试使用 Json.NET 选择一些节点,SelectTokens它似乎不支持原始 jsonpath支持的相同语法。鉴于此输入:
{
"a": [
{
"id": 1
}
],
"b": [
{
"id": 2
},
{
"id": 3,
"c": {
"id": 4
}
}
],
"d": [
{
"id": 5
}
]
}
Run Code Online (Sandbox Code Playgroud)
a我只想要内部所有顶级对象的 id b,而不是内部对象的 id。使用 gossner 的解析器我可以这样做:$.[a,b].*.id,它返回[1, 2, 3]。
Json.NET 似乎既不支持逗号也不支持 *。如何使用 Json.NET 实现这一点?是否有关于 Json.NET jpath 选择器支持的内容的参考?
以下路径适用于 Json.NET 10.0.2:
\n\nvar path = @"$.[\'a\',\'b\'][*].id";\nRun Code Online (Sandbox Code Playgroud)\n\n该路径似乎与原始 JsonPATH 文章一致,其中指出:
\n\n\n\n\nJSONPath 表达式可以使用 dot\xe2\x80\x93 表示法
\n\n\n\n
$.store.book[0].title或括号\xe2\x80\x93符号
\n\n\n
$[\'store\'][\'book\'][0][\'title\']
具体来说:
\n\n括号内的名称显示为被引用。据推测,这样做可以区分索引和数字名称。
数组索引始终显示在括号中而不是在句点之间。
小提琴样本。
\n\n(老实说,原始文章有些模糊,并且允许在实现上进行变化。例如,使用底层脚本引擎的脚本表达式到底意味着什么?)
\n| 归档时间: |
|
| 查看次数: |
2343 次 |
| 最近记录: |