Neo4j Python bolt驱动程序:如何将结果转换为Json?

时间:2017-05-04 06:40:12

标签: python flask neo4j type-conversion

我正在使用带有python的bolt驱动程序(1.0.1)。如何将结果转换为Json,以便我可以通过烧瓶应用程序将其返回? 那就是我需要将数据类型“neo4j.v1.types.Record”转换为“json”。

我试过这个

from flask import Flask
from neo4j.v1 import GraphDatabase, basic_auth
import json

driver = GraphDatabase.driver("bolt://localhost:7687", auth=basic_auth("neo4j","neo4j"))
session = driver.session()
app = Flask(__name__)


@app.route('/hello/<prop>')
def hello_name(prop):
  result = session.run("MATCH ...") #this works perfectly fine and the data is captured in result
  session.close()
  for record in result:
    return json.loads(record)

这会引发错误: - TypeError:JSON对象必须是str,而不是'Record'

1 个答案:

答案 0 :(得分:1)

neo4j驱动程序在生成器中给出结果。(记录类型)你不能做json.load,因为它不是json序列化字符串。

你能做什么:

for record in result:
    print result[0]

查看结果的格式并选择您喜欢的元素。

有关如何解析neo4j记录的进一步理解: http://neo4j.com/docs/api/python-driver/current/session.html