将 py2neo 查询输出为 JSON
outputiing py2neo query as JSON
我已经试过四处寻找,但无济于事。下面是我在 py2neo 中的密码查询:
graph = Graph()
In [6]: query = """Match (C:Customer)-[r:Customer_Send]->(Send:Customer) where C.Galactic_ID = '2000000000084001287' return Send.Galactic_ID """
In [7]: graph.cypher.execute(query)
Out[7]:
| Send.Galactic_ID
----+---------------------
1 | 2000000000084114531
2 | 1000000000284949451
3 | 2000000000084114531
4 | 1000000000213446086
我希望上面的输出是 JSON 格式。
方法如下:相信对这里的读者会有很大的帮助:
query = """Match (C:Customer)-[r:Customer_Send]->(Send:Customer) where C.Galactic_ID = '2000000000084001287' return Send.Galactic_ID as ID"""
records = graph.cypher.execute(query,Customer='ID')
returnObject = []
In [11]: for record in records:
....: returnObject.append(
. ...: {
....: 'Customer':record.ID
....: }
....: )
In [15]: returnObject
Out[15]:
[{'Customer': u'2000000000084114531'},
{'Customer': u'1000000000284949451'},
{'Customer': u'2000000000084114531'},
{'Customer': u'1000000000213446086'},
{'Customer': u'2000000000084114531'},
{'Customer': u'2000000000127655859'},
{'Customer': u'1000000000296804864'},
{'Customer': u'2000000000084114531'},
{'Customer': u'2000000000127655859'},
{'Customer': u'2000000000127655859'},
{'Customer': u'2000000000084114531'},
{'Customer': u'1000000000213446086'}]
from flask import json
In [17]: x = json.dumps(returnObject)
In [18]: x
Out[18]: '[{"Customer": "2000000000084114531"}, {"Customer": "1000000000284949451"}, {"Customer": "2000000000084114531"}, {"Customer": "1000000000213446086"}, {"Customer": "2000000000084114531"}, {"Customer": "2000000000127655859"}, {"Customer": "1000000000296804864"}, {"Customer": "2000000000084114531"}, {"Customer": "2000000000127655859"}, {"Customer": "2000000000127655859"}, {"Customer": "2000000000084114531"}, {"Customer": "1000000000213446086"}]'
这对于标准库和最新版本的 py2neo 来说相当简单:
>>> from py2neo import Graph
>>> from json import dumps
>>> g = Graph(password="password")
>>> dumps(g.run("UNWIND range(1, 3) AS n RETURN n").data())
'[{"n": 1}, {"n": 2}, {"n": 3}]'
http://py2neo.org/v3/database.html#py2neo.database.Cursor.data
我已经试过四处寻找,但无济于事。下面是我在 py2neo 中的密码查询:
graph = Graph()
In [6]: query = """Match (C:Customer)-[r:Customer_Send]->(Send:Customer) where C.Galactic_ID = '2000000000084001287' return Send.Galactic_ID """
In [7]: graph.cypher.execute(query)
Out[7]:
| Send.Galactic_ID
----+---------------------
1 | 2000000000084114531
2 | 1000000000284949451
3 | 2000000000084114531
4 | 1000000000213446086
我希望上面的输出是 JSON 格式。
方法如下:相信对这里的读者会有很大的帮助:
query = """Match (C:Customer)-[r:Customer_Send]->(Send:Customer) where C.Galactic_ID = '2000000000084001287' return Send.Galactic_ID as ID"""
records = graph.cypher.execute(query,Customer='ID')
returnObject = []
In [11]: for record in records:
....: returnObject.append(
. ...: {
....: 'Customer':record.ID
....: }
....: )
In [15]: returnObject
Out[15]:
[{'Customer': u'2000000000084114531'},
{'Customer': u'1000000000284949451'},
{'Customer': u'2000000000084114531'},
{'Customer': u'1000000000213446086'},
{'Customer': u'2000000000084114531'},
{'Customer': u'2000000000127655859'},
{'Customer': u'1000000000296804864'},
{'Customer': u'2000000000084114531'},
{'Customer': u'2000000000127655859'},
{'Customer': u'2000000000127655859'},
{'Customer': u'2000000000084114531'},
{'Customer': u'1000000000213446086'}]
from flask import json
In [17]: x = json.dumps(returnObject)
In [18]: x
Out[18]: '[{"Customer": "2000000000084114531"}, {"Customer": "1000000000284949451"}, {"Customer": "2000000000084114531"}, {"Customer": "1000000000213446086"}, {"Customer": "2000000000084114531"}, {"Customer": "2000000000127655859"}, {"Customer": "1000000000296804864"}, {"Customer": "2000000000084114531"}, {"Customer": "2000000000127655859"}, {"Customer": "2000000000127655859"}, {"Customer": "2000000000084114531"}, {"Customer": "1000000000213446086"}]'
这对于标准库和最新版本的 py2neo 来说相当简单:
>>> from py2neo import Graph
>>> from json import dumps
>>> g = Graph(password="password")
>>> dumps(g.run("UNWIND range(1, 3) AS n RETURN n").data())
'[{"n": 1}, {"n": 2}, {"n": 3}]'
http://py2neo.org/v3/database.html#py2neo.database.Cursor.data