【发布时间】:2015-09-12 18:19:10
【问题描述】:
你能帮帮我吗?我对 json 数据有响应,不仅想检查 json 的结构,还想检查里面的一些值。 json 数据由内置的 python 类型(dict、list、str、...)表示。您能否建议在 python 中检查任意 json 中的数据的简单方法?
例如让我们采取以下 json:
{"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]}
我想检查回复是否在员工列表中包含 3 个元素,其中 firstName 和 lastName 具有特定值。
我知道,如果我将 json 作为 python dict,我可以通过以下方式检查其中的任何值:
data["employees"][0]["firstName"] == ???
也许在这种简单的情况下,这没什么大不了的。但就我而言,我有复杂结构的响应,其中(对我而言)有趣的数据位于不同位置的深处。很难为每个应该检查的值编写类似 data['a']['b'][0]['c'][1] 的东西......有没有更好的方法来检查复杂 json 中的数据?
【问题讨论】:
-
JSON 解码为 Python 类型,是的。你需要给我们一个示例结构和你的代码来显示你卡在哪里,但你所拥有的只是字典、列表、数字、字符串和布尔值。哦,也许还有
None对象。解决这些问题的常规方法适用,数据结构来自 JSON 并不重要。 -
你看过
json模块吗? -
是的,json 模块允许解析 json,但我需要更多的东西 - 检查解析后的 json 中的数据。