使用 JSONPath 仅获取顶级 children
Using JSONPath to get only top level children
我有一个 JSON 数组,其中包含 4 个 object,每个数组都有一个 id
字段。第四个 object 包含两个 children,每个 children 还有一个 id
字段。我只想获取4个顶层的ids children;我不想要第 4 个元素的 children 的 ID。
这是 JSON 字符串的简化版本:
[
{
"id": 709709537
},
{
"id": 1104067257
},
{
"id": 2961327618
},
{
"id": 9066007668,
"photo": {
"id": 461295287,
"thumbnails": [
{
"id": 461295307
}
]
}
}
]
使用 JSONPath,$..id
将获得所有 6 个 id 元素,无法确定它们来自哪个级别,例如
[
709709537,
1104067257,
2961327618,
9066007668,
461295287,
461295307
]
我原以为 $.id
会给我 4 个顶级 id
children,但这对我毫无帮助。
我研究了很多页面并使用 JSON 测试人员(例如 https://jsonpath.curiousconcept.com/)尝试了几个实验,但找不到 JSON 路径表达式来获得前 4 [=31] =] id 元素。
是否有一个 JSON路径表达式可以让我得到顶级 children ids?
我觉得应该是
$[*].id
请记住,您将这些元素放在一个数组中,并且您需要数组中的每个元素。然后你想要他们的.id。
我有一个 JSON 数组,其中包含 4 个 object,每个数组都有一个 id
字段。第四个 object 包含两个 children,每个 children 还有一个 id
字段。我只想获取4个顶层的ids children;我不想要第 4 个元素的 children 的 ID。
这是 JSON 字符串的简化版本:
[
{
"id": 709709537
},
{
"id": 1104067257
},
{
"id": 2961327618
},
{
"id": 9066007668,
"photo": {
"id": 461295287,
"thumbnails": [
{
"id": 461295307
}
]
}
}
]
使用 JSONPath,$..id
将获得所有 6 个 id 元素,无法确定它们来自哪个级别,例如
[
709709537,
1104067257,
2961327618,
9066007668,
461295287,
461295307
]
我原以为 $.id
会给我 4 个顶级 id
children,但这对我毫无帮助。
我研究了很多页面并使用 JSON 测试人员(例如 https://jsonpath.curiousconcept.com/)尝试了几个实验,但找不到 JSON 路径表达式来获得前 4 [=31] =] id 元素。
是否有一个 JSON路径表达式可以让我得到顶级 children ids?
我觉得应该是
$[*].id
请记住,您将这些元素放在一个数组中,并且您需要数组中的每个元素。然后你想要他们的.id。