apoc.convert.getJsonPropertyMap
语法 |
|
||
描述 |
将给定 |
||
参数 |
名称 |
类型 |
描述 |
|
|
包含 JSON 字符串化映射的节点。 |
|
|
|
要转换的属性键。 |
|
|
|
用于从节点属性字符串中提取特定部分的 JSON 路径表达式。默认值为:``。 |
|
|
|
JSON 路径选项:('ALWAYS_RETURN_LIST', 'AS_PATH_LIST', 'DEFAULT_PATH_LEAF_TO_NULL', 'REQUIRE_PROPERTIES', 'SUPPRESS_EXCEPTIONS') 默认值为: |
|
返回值 |
|
||
使用示例
本节中的示例基于以下示例图
CREATE (:Person {json:'{a:[1,2,3]}'});
MATCH (p:Person)
RETURN apoc.convert.getJsonPropertyMap(p, "json") AS output;
| 输出 |
|---|
{a: [1, 2, 3]} |
此外,我们可以自定义 Json 路径选项,将字符串列表作为第三个参数 (pathOptions) 添加,其中字符串基于 Enum<Option>。默认值为 ["SUPPRESS_EXCEPTIONS", "DEFAULT_PATH_LEAF_TO_NULL"]。请注意,我们也可以插入 [],即“无选项”。因此,对于 (n:JsonPathNode {prop: '{"columns":{"col2":{"_id":"772col2"}}}'}),我们可以执行(使用默认 pathOptions)
MATCH (n:JsonPathNode) RETURN apoc.convert.getJsonPropertyMap(n, 'prop', '$.columns.col2') AS output;
| 输出 |
|---|
{ "_id": "772col2" } |
或者,使用自定义路径选项
MATCH (n:JsonPathNode) RETURN apoc.convert.getJsonPropertyMap(n, 'prop', '$.columns.col2', ['ALWAYS_RETURN_LIST']) AS path
调用函数 apoc.convert.getJsonPropertyMap 失败:原因:com.fasterxml.jackson.databind.exc.MismatchedInputException: 无法从 START_ARRAY 令牌反序列化 java.util.LinkedHashMap<java.lang.Object,java.lang.Object> 实例,位置:[Source: UNKNOWN; line: -1, column: -1] |
|---|