2

我在 orientdb 中有一个值,它是一个 JSON 对象。假设 JSON 对象是:

a = {"abc":123}

当我使用 pyorient 发送查询时,它无法在选择查询中获取此值,并挂起。在 orientdb 控制台中,这个 JSON 对象似乎被转换为其他格式,例如

a = {abc=123}

我想它是因为同样的问题而挂起的。来自 pyorient 的查询是:

client.query("select a from <tablename>")

这挂起并且似乎不起作用。你能帮我在pyorient中解析这个JSON对象吗?

4

3 回答 3

0

我使用 OrientDb 的 REST API 服务从数据库中获取 JSON 对象字段。PyOrient 在请求 JSON 对象字段时挂起。

因此,删除您想要的记录,并使用 REST 服务来获取所有字段,这非常好。

于 2015-03-25T04:59:37.797 回答
0

我已经定义了一个函数来获取顶点,在你得到你的顶点之后,你可以使用 for 循环来解析 json 结果。假设顶点“Root”有一个属性“name”,在查询执行后的for循环中,我们可以解析“res.name”之类的值来获取值。

我认为在最近的版本中,他们解决了悬挂问题。我在查询执行时没有遇到任何挂起问题。

def get_verted(vertex):
    result = client.command("select * from "+vertex)
    for res in result:
        print res.name
get_vertex("Root")
于 2017-11-11T13:22:51.070 回答
0

pyorient 为您提供如下输出:

a = {'abc': '123'}

并且 json.loads() 函数适用于 " 而不是 ',因此要解决它,您需要这样做:

b=str(a)
b.replace("'",'"')
json_data = json.loads(b)
print(json_data.keys())
于 2017-07-05T08:21:10.590 回答