传入JSON:
[
{
"name": "Name1"
},
{
"name": "Name2"
},
{
"name": "Name3",
"surname": "Surname3"
}
]
如果我们使用JSONPath像$[:].name
,我们将收到:
[
0: "Name1",
1: "Name2",
2: "Name3"
]
但是如果用同样的方法得到surname
($[:].surname
),我们将得到:
[
0: "Surname3"
]
是否可以使用空字符串(或null)获得姓氏值以保持正确的索引?例如
[
0: "",
1: "",
2: "Surname3"
]
注::此刻我正在使用这个库。
JSON Path不支持这样返回占位符值。它是一种用于JSON文档的查询语言,就像SQL用于关系数据库一样。您能想象如果SQL查询为数据库中与您的查询不匹配的每条记录返回占位符值吗?
我认为您想要这样做的原因是确定值在原始文档中出现的位置。为此,JSON路径实现应该支持返回值的路径,而不是值本身:
[
"$[2]['surname']"
]
但是我无法在该库的README中看到支持这种特性的地方(尽管它仍然可能)。