apoc.convert.fromJsonList
Function APOC Core
apoc.convert.fromJsonList('[1,2,3]'[,'json-path', 'path-options'])
Signature
apoc.convert.fromJsonList(list :: STRING?, path =  :: STRING?, pathOptions = null :: LIST? OF STRING?) :: (LIST? OF ANY?)
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.