纯 JSON

Plain JSON 是默认的结果格式。它以 JSON 返回结果,查询结果嵌入在 data 对象中。

要请求此格式,请在请求头中设置 Accept: application/json(或者完全省略它,因为如果未提供 Accept 头部,它是默认的)。

JSON 输出格式原型

{
  "data": {
    "fields": [   field1, field2, ... ],  (1)
    "values": [ [ entity1, entity2, ... ] ]  (2)
  }
}
1 查询字段,即返回对象的键
2 查询结果。外部数组表示单个结果(或行),内部数组包含该结果的各个值(每个元素的内部结构取决于对象类型)。

示例

示例 1。返回一个节点和一个属性

请求示例

POST https://: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"
  }
}

示例响应

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"
  ]
}

类型映射

Cypher 类型 映射到最接近的 JSON 类型,复杂类型(时间、空间、二进制)序列化为字符串。

Cypher 类型 查询 API 类型 示例

NULL

null

null

布尔值 (BOOLEAN)

boolean

true

INTEGER(整数)

数量 (number)

123

FLOAT

数量 (number)

4.56

STRING

string

"Hello World"

字节数组

字符串(base64)

"A2+/"

LIST

array

[123, 456]

MAP

客体

{
  "fieldA": "A value",
  "fieldB": "Another value"
}

Temporal (时间类型)
(DATE, ZONED TIME, LOCAL TIME, ZONED DATETIME, LOCAL DATETIME, DURATION)

字符串(ISO-8601)

"2015-03-26"
"12:50:35.556+01:00"
"12:50:35.556"
"2015-11-21T21:40:32.142Z[Antarctica/Troll]"
"2015-07-04T19:32:24"
"P14DT16H12M"

POINT

字符串(WKT)

"SRID=7203;POINT (1.2 3.4)"
"SRID=9157;POINT Z (1.0 2.0 3.0)"

NODE

客体

{
  "elementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:0",
  "labels": [
    "Person"
  ],
  "properties": {
    "name": "Alice",
    "age": 42
  }
}

RELATIONSHIP

客体

{
  "elementId": "5:ff04df25-ff2b-4b55-98f8-6888297b025e:2",
  "startNodeElementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:0",
  "endNodeElementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:2",
  "type": "LIKES",
  "properties": {
    "since": "forever!"
  }
}

PATH

客体

[
  {
    "elementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:0",
    "labels": [
      "Person"
    ],
    "properties": {
      "name": "Alice",
      "age": 42
    }
  },
  {
    "elementId": "5:ff04df25-ff2b-4b55-98f8-6888297b025e:2",
    "startNodeElementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:0",
    "endNodeElementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:2",
    "type": "LIKES",
    "properties": {
      "since": "forever!"
    }
  },
  {
    "elementId": "4:ff04df25-ff2b-4b55-98f8-6888297b025e:2",
    "labels": [
      "Person"
    ],
    "properties": {
      "name": "Phil"
    }
  }
]
路径中关系的方向仅在起始和结束节点的元素 ID 中编码。返回的节点和关系的顺序并不代表关系的方向。

VECTOR

array

[123, 456]

企业版 2025.10 引入

VECTOR 值只能从数据库检索,不能作为参数在 Plain JSON 中传递。要创建向量,请使用 Cypher vector 构造函数,或使用 Typed JSON 结果格式