apoc.load.jsonArray
Procedure APOC Core
apoc.load.jsonArray('url') YIELD value - load array from JSON URL (e.g. web-api) to import JSON as stream of values
Signature
apoc.load.jsonArray(url :: STRING?, path = :: STRING?, config = {} :: MAP?) :: (value :: ANY?)
Usage Examples
map.json
contains a JSON document representing a person and their children.
{
"foo":[1,2,3]
}
We’ll place this file into the import
directory of our Neo4j instance.
Let’s now write a query using the apoc.load.jsonArray
procedure to explore this file.
The following query processes map.json
and returns the content as Cypher data structures
CALL apoc.load.jsonArray("file:///map.json", "$.foo");
value |
---|
[1, 2, 3] |
Moreover, we can customize the Json path options, adding the config {pathOptions: LIST OF STRINGS
},
where the strings are based on Enum<Option>.
The default value is ["SUPPRESS_EXCEPTIONS", "DEFAULT_PATH_LEAF_TO_NULL"]
. Note that we can also insert []
, that is "without options".
So with the following json:
{ "columns": {
"col2": {
"_id": "772col2"
}
}
}
we can execute (with default pathOptions
):
CALL apoc.load.jsonArray($url, '$..columns');
value |
---|
[ {"col2": { "_id": "772col2" }}, null, null ] |
or, with custom path options:
CALL apoc.load.jsonArray($url, '$..columns', ['ALWAYS_RETURN_LIST']);
value |
---|
[ {"col2": { "_id": "772col2" }} ] |