gpt4 book ai didi

json - Json.NET 使用的 JsonPath 语法是什么?

转载 作者:行者123 更新时间:2023-12-05 02:18:59 29 4
gpt4 key购买 nike

我正在尝试使用 Json.NET SelectTokens 选择一些节点,它似乎不支持与 original jsonpath 相同的语法支持。鉴于此输入:

{
"a": [
{
"id": 1
}
],
"b": [
{
"id": 2
},
{
"id": 3,
"c": {
"id": 4
}
}
],
"d": [
{
"id": 5
}
]
}

我只想要 ab 中所有顶级对象的 ID,而不是内部对象的 ID。使用 gossner 的解析器,我可以使用:$.[a,b].*.id,它返回 [1, 2, 3]

Json.NET 似乎既不支持逗号也不支持 *。这如何通过 Json.NET 实现,是否有关于 Json.NET jpath 选择器支持的内容的任何引用?

最佳答案

以下路径适用于 Json.NET 10.0.2:

var path = @"$.['a','b'][*].id";

此路径似乎与 original JsonPATH article 一致,其中指出:

JSONPath expressions can use the dot–notation

$.store.book[0].title

or the bracket–notation

$['store']['book'][0]['title']

具体来说:

  • 括号内的名称显示为引号。据推测,这样做可以区分索引和数字名称。

  • 数组索引始终显示在括号中而不是句点之间。

样本 fiddle .

(老实说,原始文章有些含糊,允许在实现中有所变化。例如,脚本表达式,使用底层脚本引擎到底是什么意思?)

关于json - Json.NET 使用的 JsonPath 语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43855083/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com