JSONPath:如果路径(字段)不存在,如何获得空字符串(或null) ?



传入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中看到支持这种特性的地方(尽管它仍然可能)。

最新更新