apoc.convert.fromJsonList
Syntax |
|
||
Description |
Converts the given JSON list into a Cypher |
||
Arguments |
Name |
Type |
Description |
|
|
A JSON stringified list. |
|
|
|
A JSON path expression used to extract a certain part from the list. The default is: ``. |
|
|
|
JSON path options: ('ALWAYS_RETURN_LIST', 'AS_PATH_LIST', 'DEFAULT_PATH_LEAF_TO_NULL', 'REQUIRE_PROPERTIES', 'SUPPRESS_EXCEPTIONS') The default is: |
|
Returns |
|
Usage examples
The following converts a JSON list into a Cypher list:
RETURN apoc.convert.fromJsonList('[1,2,3]') AS output;
Output |
---|
[1, 2, 3] |
We can also use JSON path expressions to extract part of a JSON list.
For example, the following extracts the name
property from a JSON list of objects and returns a list of Cypher strings:
RETURN apoc.convert.fromJsonList('[
{"name": "Neo4j"},
{"name": "Graph Data Science Library"},
{"name": "Bloom"}
]', '.name') AS output;
Output |
---|
["Neo4j", "Graph Data Science Library", "Bloom"] |
Moreover, we can customize the Json path options, adding as third parameter (pathOptions
) a 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 we can execute (with default pathOptions):
RETURN apoc.convert.fromJsonList('{ "columns": {
"col2": {
"_id": "772col2"
}
}
}', '$..columns') AS output;
output |
---|
[ {"col2": { "_id": "772col2" }}, null, null ] |
or, with custom path options:
RETURN apoc.convert.fromJsonList('{ "columns": {
"col2": {
"_id": "772col2"
}
}
}', '$..columns', ['ALWAYS_RETURN_LIST']) AS output;
output |
---|
[ {"col2": { "_id": "772col2" }} ] |
If we try to convert a non-list structure, we’ll get an exception. For example:
RETURN apoc.convert.fromJsonList('{"name": "Neo4j"}') AS output;
Failed to invoke function |
In this case we should instead use apoc.convert.fromJsonMap.