apoc.load.jsonArray

从本地文件加载数据需要配置 apoc.conf,将 apoc.import.file.enabled 设置为 true。此功能在 Aura 上不受支持。因此,Aura 实例仅限于加载公开托管的文件。

详细信息

语法

apoc.load.jsonArray(url [, path, config ]) :: (value)

描述

从 JSON URL(例如 web-API)加载数组,以便将给定的 JSON 文件作为值流进行导入。

输入参数

名称

类型

描述

url

STRING

JSON 文件的路径。

path

STRING

用于从列表中提取特定部分的 JSON 路径表达式。默认值为:``。

config

MAP

{ failOnError = true :: BOOLEAN, pathOptions :: LIST<STRING>, compression = "NONE" :: ["NONE", "BYTES", "GZIP", "BZIP2"", "DEFLATE", "BLOCK_LZ4", "FRAMED_SNAPPY"] }。默认值为:{}

返回参数

名称

类型

描述

ANY

从给定文件加载的数据。

使用示例

map.json 包含一个代表某人及其子女的 JSON 文档。

map.json
{
  "foo":[1,2,3]
}

我们将此文件放入 Neo4j 实例的 import 目录中。现在让我们编写一个使用 apoc.load.jsonArray 过程的查询来探索该文件。

以下查询处理 map.json 并将内容作为 Cypher 数据结构返回

CALL apoc.load.jsonArray("file:///map.json", "$.foo");
结果

[1, 2, 3]

此外,我们可以自定义 Json 路径选项,添加配置 {pathOptions: 字符串列表},其中的字符串基于 Enum<Option>。默认值为 ["SUPPRESS_EXCEPTIONS", "DEFAULT_PATH_LEAF_TO_NULL"]。请注意,我们也可以插入 [],即“无选项”。因此,对于以下 json

{ "columns": {
      "col2": {
        "_id": "772col2"
      }
    }
}

我们可以执行(使用默认的 pathOptions

CALL apoc.load.jsonArray($url, '$..columns');
结果

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

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

CALL apoc.load.jsonArray($url, '$..columns', ['ALWAYS_RETURN_LIST']);
结果

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