使用python解析JSON以根据条件获取值

时间:2014-02-07 07:05:13

标签: python json

我是python的新手并尝试解析json文件并根据条件获取所需的字段。

例如,如果status = true,那么          打印名称

Json文件:

[
  {
    "id": "12345",
    "name": "London",
    "active": true,
    "status": "true",
    "version": "1.0",
    "tags": [
    ]
  },
  {
    "id": "12457",
    "name": "Newyork",
    "active": true,
    "status": "false",
    "version": "1.1",
    "tags": [
    ]
  },
]

预期产出:

姓名:伦敦

请帮我解决这个问题。提前谢谢。

2 个答案:

答案 0 :(得分:3)

>>> import json
>>> obj = json.loads('[ { "id": "12345", "name": "London", "active": true, "status": "true", "version": "1.0", "tags": [ ] }, { "id": "12457", "name": "Newyork", "active": true, "status": "false", "version": "1.1", "tags": [ ] } ]')
>>> print "Names:", ",".join(x["name"] for x in obj if x["status"] == "true")
Names: London

您的JSON无效。删除逗号,如下所示:

[
  {
    "id": "12345",
    "name": "London",
    "active": true,
    "status": "true",
    "version": "1.0",
    "tags": [
    ]
  },
  {
    "id": "12457",
    "name": "Newyork",
    "active": true,
    "status": "false",
    "version": "1.1",
    "tags": [
    ]
  },
   ^__________Remove this comma!
]

答案 1 :(得分:-1)

您可以在此处获取有关json解析的所有信息。

http://docs.python.org/3.3/library/json.html