在python中显示某些参数JSON

在python中显示某些参数JSON,python,json,Python,Json,我有一些JSON输出,例如: «somethings»: { "id": 1, "param1": 11, "param2": 12 }, { "id": 2, "param1": 21, "param2": 22 } 我只想为每个“id”显示param1。我可以使用circle进行以下操作: for i in range(0, 50): print parsed_string["somethings"][i]["param1"] 但我现在不

我有一些JSON输出,例如:

«somethings»:
{
  "id": 1, 
  "param1": 11,
  "param2": 12
},
{
    "id": 2,
    "param1": 21,
    "param2": 22
}  
我只想为每个“id”显示param1。我可以使用circle进行以下操作:

for i in range(0, 50):
    print parsed_string["somethings"][i]["param1"]

但我现在不知道我能得到多少ID。

在JSON中,它只是一个对象数组(以及解析后的Python列表),因此您可以像这样迭代所有对象:

for obj in parsed_string["somethings"]:
    print(obj["param1"])

在JSON中,它只是一个对象数组(以及解析后的Python列表),因此您可以像这样迭代所有对象:

for obj in parsed_string["somethings"]:
    print(obj["param1"])

如果需要显示键值,请使用以下代码

import json as json

json_string = '[{"id":"A 0","param1":"SOME DATA 1","param2":"SOME DATA 2"},' \
              '{"id":"A 1","param1":"SOME DATA 2","param2":"SOME DATA 2"},' \
              '{"id":"A 2","param1":"SOME DATA 2","param2":"SOME DATA 2"}]'

json_data = json.loads(json_string)
for d in json_data:
    for key, value in d.iteritems():
        if (key in ("param1")):  # ("id", "param1")
            print key, value

如果需要显示键值,请使用以下代码

import json as json

json_string = '[{"id":"A 0","param1":"SOME DATA 1","param2":"SOME DATA 2"},' \
              '{"id":"A 1","param1":"SOME DATA 2","param2":"SOME DATA 2"},' \
              '{"id":"A 2","param1":"SOME DATA 2","param2":"SOME DATA 2"}]'

json_data = json.loads(json_string)
for d in json_data:
    for key, value in d.iteritems():
        if (key in ("param1")):  # ("id", "param1")
            print key, value

thanx,这就是我所需要的。thanx,这就是我所需要的。为什么不直接索引到字典中呢?如果你只是索引而它不在那里,你会得到一个KeyError异常。如果该事件被视为“不可能”,或者您可以使用
try。。。除了KeyError…
之外,您可以捕获错误并继续。仅仅相信随机用户输入是完美的是一个坏主意。为什么不直接索引到字典中呢?如果你只是索引而它不在那里,你会得到一个KeyError异常。如果该事件被视为“不可能”,或者您可以使用
try。。。除了KeyError…
之外,您可以捕获错误并继续。仅仅相信随机用户输入是完美的是一个坏主意。