python循环获取json数组中某个值?

我想使用Python来获取这组Json数据中的name及short字段的值,请问该怎样循环获取呢?

{
  "apps_count": 6,
  "page_size": 20,
  "items": [
    {
      "id": "59bf8e26959d69523e000177",
      "user_id": "XXXXXX",
      "org_id": "59bba986548b7a1688812a7c",
      "type": "android",
      "name": "yljk",
      "short": "yx9a",
      "bundle_id": "XXXXXX",
      "genre_id": 0,
      "is_opened": false,
      "web_template": "default",
      "custom_market_url": "",
      "has_combo": false,
      "created_at": 1505725990,
      "updated_at": 1505726002,
      "expired_at": 1505898802,
      "icon_url": "https://XXXXXX.com",
      "master_release": {
        "version": "1.0.0",
        "build": "1",
        "release_type": "inhouse",
        "distribution_name": "",
        "supported_platform": null,
        "created_at": XXXXXX
      }
    },
    {
      "id": "XXXXXX",
      "user_id": "XXXXXX",
      "org_id": "XXXXXX",
      "type": "android",
      "name": "wld",
      "short": "bpdb",
      "bundle_id": "XXXXXX",
      "genre_id": 0,
      "is_opened": false,
      "web_template": "default",
      "custom_market_url": "",
      "has_combo": false,
      "created_at": XXXXXX,
      "updated_at": XXXXXX,
      "expired_at": XXXXXX,
      "icon_url": "https://XXXXXX.com",
      "master_release": {
        "version": "1.0.0",
        "build": "1",
        "release_type": "inhouse",
        "distribution_name": "",
        "supported_platform": null,
        "created_at": XXXXXX
      }
    },
    {
      "id": "XXXXXX",
      "user_id": "XXXXXX",
      "org_id": "XXXXXX",
      "type": "android",
      "name": "wzlj",
      "short": "1tdc",
      "bundle_id": "XXXXXX",
      "genre_id": 0,
      "is_opened": false,
      "web_template": "default",
      "custom_market_url": "",
      "has_combo": false,
      "created_at": XXXXXX,
      "updated_at": XXXXXX,
      "expired_at": XXXXXX,
      "icon_url": "https://XXXXXX.com",
      "master_release": {
        "version": "1.0.0",
        "build": "1",
        "release_type": "inhouse",
        "distribution_name": "",
        "supported_platform": null,
        "created_at": XXXXXX
      }
    },
    {
      "id": "XXXXXX",
      "user_id": "XXXXXX",
      "org_id": "XXXXXX",
      "type": "android",
      "name": "maib",
      "short": "y6td",
      "bundle_id": "XXXXXX",
      "genre_id": 0,
      "is_opened": false,
      "web_template": "default",
      "custom_market_url": "",
      "has_combo": false,
      "created_at": XXXXXX,
      "updated_at": XXXXXX,
      "expired_at": XXXXXX,
      "icon_url": "https://XXXXXX.com",
      "master_release": {
        "version": "1.0.0",
        "build": "1",
        "release_type": "inhouse",
        "distribution_name": "",
        "supported_platform": null,
        "created_at": XXXXXX
      }
    },
    {
      "id": "XXXXXX",
      "user_id": "XXXXXX",
      "org_id": "XXXXXX",
      "type": "android",
      "name": "jieb",
      "short": "jg3e",
      "bundle_id": "XXXXXX",
      "genre_id": 0,
      "is_opened": false,
      "web_template": "default",
      "custom_market_url": "",
      "has_combo": false,
      "created_at": XXXXXX,
      "updated_at": XXXXXX,
      "expired_at": XXXXXX,
      "icon_url": "https://XXXXXX.com",
      "master_release": {
        "version": "1.0.0",
        "build": "1",
        "release_type": "inhouse",
        "distribution_name": "",
        "supported_platform": null,
        "created_at": XXXXXX
      }
    },
    {
      "id": "XXXXXX",
      "user_id": "XXXXXX",
      "org_id": "XXXXXX",
      "type": "android",
      "name": "xxdk",
      "short": "5ewf",
      "bundle_id": "XXXXXX",
      "genre_id": 0,
      "is_opened": false,
      "web_template": "default",
      "custom_market_url": "",
      "has_combo": false,
      "created_at": XXXXXX,
      "updated_at": XXXXXX,
      "expired_at": XXXXXX,
      "icon_url": "https://XXXXXX.com",
      "master_release": {
        "version": "1.0.0",
        "build": "1",
        "release_type": "inhouse",
        "distribution_name": "",
        "supported_platform": null,
        "created_at": XXXXXX
      }
    }
  ]
}
阅读 29.3k
3 个回答

get方法更安全:

import json
data = json.load(file)
result = [(item.get('name', 'NA'), item.get('short', 'NA')) for item in data['items']]

假定这组json存在变量users里面

new = []
for user in users:
    new.append({
        'name': user['name'], 
        'short': user['short']
    })
print new
import json

data = json.load(file)
result = [(d['name'], d['short']) for d in data['items']]
# result结果为[('yljk', 'yx9a'), ('wld', 'bpdb')]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏