难以理解包含 [?] 的 JSONPath
Hard to understand JSONPath containing [?]
在遗留系统中我发现了这个JSON路径:
$['data']..['rels'][?]['persons'][*]
我被 [?]
弄糊涂了,
因为我正在尝试重建预期的 JSON 应该喜欢(但不是):
{
"tag1": ["VALUE1"],
"data": [
{
"tag2": "VALUE2",
"rels": [
{
"persons": [
{
"uid": "uid12"
}
],
"tag3": {
"tag4": "tag4"
}
}
]
}
]
}
我用了https://jsonpath.com/
感谢您的帮助
你对此感到困惑是对的。 JSON 路径语法无效。这是 Jayway JsonPath(JavaScript 实现)支持的扩展语法,他们称之为“过滤谓词”。您可以在项目的自述文件中阅读它。
我和其他一些人一直在为 JSON 路径编写一个 official specification,我最近在看到另一个问题后提出了这个问题。我们旨在避免这种混淆。
在遗留系统中我发现了这个JSON路径:
$['data']..['rels'][?]['persons'][*]
我被 [?]
弄糊涂了,
因为我正在尝试重建预期的 JSON 应该喜欢(但不是):
{
"tag1": ["VALUE1"],
"data": [
{
"tag2": "VALUE2",
"rels": [
{
"persons": [
{
"uid": "uid12"
}
],
"tag3": {
"tag4": "tag4"
}
}
]
}
]
}
我用了https://jsonpath.com/
感谢您的帮助
你对此感到困惑是对的。 JSON 路径语法无效。这是 Jayway JsonPath(JavaScript 实现)支持的扩展语法,他们称之为“过滤谓词”。您可以在项目的自述文件中阅读它。
我和其他一些人一直在为 JSON 路径编写一个 official specification,我最近在看到另一个问题后提出了这个问题。我们旨在避免这种混淆。