【问题标题】:How to parse this json using python如何使用python解析这个json
【发布时间】:2012-11-29 19:01:42
【问题描述】:

我知道要问这种微不足道的事情......但我是 python 的新手。 这是一个json字符串

reply = {u'f': [{u'v': u'0'}]}

如何使用 python 从中解析出值 0。 我试过了

count = reply['rows'][0]['v']

但它不起作用

【问题讨论】:

  • rows 是从哪里来的? (这也不是 JSON 字符串)。
  • 附带说明,这不是 json 字符串。那是一本字典……
  • 欢迎来到蜂巢,新蜜蜂!
  • @mgilson 除非它不是有效的 JSON。
  • @mgilson,Python unicode 标记 (u"") 会妨碍它。当然,你可以随时使用json 模块将其转为 JSON 字符串。

标签: python json parsing


【解决方案1】:

count = reply['f'][0]['v'] 我相信应该可以工作。

reply 是一个字典。因此,您需要使用字典键来访问数据。在这种情况下,密钥是'f',而不是'rows'

【讨论】:

  • +1 如果您查看reply,您会发现它有一个f 而没有rows
【解决方案2】:

如果你有有效的 JSON,你可以使用 simplejson 模块:

from simplejson import loads, dumps

my_dict = loads(my_json_serialized_string)

然后你就可以访问python dict,例如:

print my_dict.items()
print my_dict.keys()
print my_dict.values()

#lets assume 'rows' exists as a key, and the value is a list, and the first item of that list is a dict that contains the key 'v':
print my_dict['rows'][0]['v']

您甚至可以更改字典,并将其序列化为有效的 JSON 字符串:

my_dict['my_key'] = 'my_value'

my_other_json_serialized_string = dumps(my_dict)

【讨论】:

    猜你喜欢
    • 2018-12-29
    • 2016-05-22
    • 2016-12-07
    • 1970-01-01
    • 2019-05-12
    • 2020-08-11
    • 2021-11-21
    • 2020-08-10
    相关资源
    最近更新 更多