1

使用 python/py2neo,我运行一个密码查询,其中包含

return ..., ...,  collect([node1.uuid, node1.timestamp, id(node1), node2.uuid])

在 Web 控制台和 py2neo 中,我得到的结果如下所示:

[ ..., ..., [u'List(1234abcd-1234-1234-1234-1234abcd1234, 1.374650647E9, 13312, 4321abcd-4321-4321-4321-4321abcd4321)', u'List(..., ..., ...)']]

(只是用""而不是u''在网络控制台中)

它看起来不像 JSON。有一个u'List()', 不带引号的字符串和科学记数法。

如何解析返回的列表集合?

4

2 回答 2

1

你可以用正则表达式来做到这一点:

import re
s = u'List(1234abcd-1234-1234-1234-1234abcd1234, 1.374650647E9, 13312, 4321abcd-4321-4321-4321-4321abcd4321)'
re.findall(r'List\(([a-z0-9-]+), ([0-9.E]+), (\d+), ([a-z0-9-]+)\)', s)

这将返回:

[(u'1234abcd-1234-1234-1234-1234abcd1234',
  u'1.374650647E9',
  u'13312',
  u'4321abcd-4321-4321-4321-4321abcd4321')]
于 2013-07-24T11:23:23.907 回答
0

如果您查看实际的 REST 调用(切换到 HTTP 控制台视图或使用 CURL),您可以在 HTTP Webadmin 控制台中执行类似的操作

POST /db/data/cypher {"query":"start n=node(1,2) return collect(n);"}

并且会在 [] 后面得到正确的序列化完整节点 red=representations。

于 2013-07-25T12:29:49.057 回答