gpt4 book ai didi

python - 解析json数据

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:00 24 4
gpt4 key购买 nike

我的data.json

{"a":[{"b":{"c":{ "foo1":1, "foo2":2, "foo3":3, "foo4":4}}}],"d":[{"e":{"bar1":1, "bar2":2, "bar3":3, "bar4":4}}]}

我能够列出两​​个键/对值。我的代码是:

#! /usr/bin/python
import json
from pprint import pprint

with open('data2.json') as data_file:
data = json.load(data_file)
pprint(data["d"][0]["e"])

这给了我:

{u'bar1': 1, u'bar2': 2, u'bar3': 3, u'bar4': 4}

但我只想显示,而不显示任何引号u,如下所示:

bar1, bar2, bar3, bar4

有人能提出什么建议吗?它不仅需要在 python 中,也可以在 shell 脚本中。

最佳答案

该对象的键是 unicode 字符串类的实例。鉴于此,它们作为键的 dict 实例的默认打印行为将按照您在帖子中显示的方式打印它们。

这是因为 dict 实现将其内容表示为字符串(__repr__ 和/或 __str__)旨在向您展示< em>对象驻留在dict中,而不是这些对象的字符串表示形式。这是一个重要的区别,例如:

In [86]: print u'hi'
hi

In [87]: x = u'hi'

In [88]: x
Out[88]: u'hi'

In [89]: print x

hi

这应该对您有用,假设将 key 作为逗号分隔的 unicode 一起打印就可以了:

print ", ".join(data["d"][0]["e"])

您也可以使用 dict 中的 keys 成员函数来实现此目的,但这并不是绝对必要的。

关于python - 解析json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21911853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com