apoc.json.path

详细信息

语法

apoc.json.path(json [, path, pathOptions ])

描述

返回指定的 JSON 路径内容。

参数

名称

类型

描述

json

STRING

一个 JSON 字符串。

path

STRING

要从 JSON 字符串中提取的路径。默认值为:$

pathOptions

LIST<STRING>

JSON 路径选项枚举值的列表:ALWAYS_RETURN_LIST, AS_PATH_LIST, DEFAULT_PATH_LEAF_TO_NULL, REQUIRE_PROPERTIES, SUPPRESS_EXCEPTIONS。默认值为:null

返回

ANY

使用示例

本节中的示例基于以下示例图

CREATE (:Person {json:'{a:[1,2,3]}'});
MATCH (p:Person)
RETURN apoc.json.path(p.json, "$.a") AS output;
结果
输出

[1, 2, 3]

此外,我们可以自定义 Json 路径选项,通过第三个参数 (pathOptions) 传入一个字符串列表,这些字符串基于 Enum<Option>。默认值为 ["SUPPRESS_EXCEPTIONS", "DEFAULT_PATH_LEAF_TO_NULL"]。请注意,我们也可以传入 [],即“无选项”。因此我们可以执行(使用默认 pathOptions)

RETURN apoc.json.path('{ "columns": {
      "col2": {
        "_id": "772col2"
      }
    }
}', '$..columns') AS output;
结果
输出

[ {"col2": { "_id": "772col2" }}, null, null ]

或者,使用自定义路径选项

RETURN apoc.json.path('{ "columns": {
      "col2": {
        "_id": "772col2"
      }
    }
}', '$..columns', ['ALWAYS_RETURN_LIST']) AS output;
结果
输出

[ {"col2": { "_id": "772col2" }} ]