Plain JSON
Plain JSON is the default result format.
It returns results as JSON, with the query results embedded within the data object.
To request this format, set Accept: application/json in the request headers (or omit it entirely, as it is the default if no Accept header is provided).
JSON output format prototype
{
"data": {
"fields": [ field1, field2, ... ], (1)
"values": [ [ entity1, entity2, ... ] ] (2)
}
}
| 1 | Query fields, i.e. keys for the returned objects |
| 2 | Query results. The outer array represents a single result (or row) where the inner array contains the individual values for that result (the inner structure of each element depends on the object type). |
Examples
Example 1. Return a node and a property
Example request
POST http://localhost:7474/db/neo4j/query/v2
Authorization: Basic bmVvNGo6dmVyeXNlY3JldA==
Content-Type: application/json
{
"statement": "MERGE (p:Person {name: $name}) RETURN p AS person, p.name AS name",
"parameters": {
"name": "Phil"
}
}
Example response
202: Accepted
Content-Type: application/json
{
"data": {
"fields": [
"person",
"name"
],
"values": [
[
{
"elementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:2",
"labels": [
"Person"
],
"properties": {
"name": "Phil"
}
},
"Phil"
]
]
},
"bookmarks": [
"FB:kcwQ/wTfJf8rS1WY+GiIKXsCXg6Q"
]
}
Type mapping
Cypher types are mapped to the closest JSON type, with the complex ones (temporal, spatial, binary) serialized to string.
| Cypher type | Query API type | Example | ||
|---|---|---|---|---|
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
Enterprise Edition Introduced in 2025.10
|