42

使用 Python,如何将字段提取id到变量中?基本上,我要改变这个:

{
    "accountWide": true,
    "criteria": [
        {
            "description": "some description",
            "id": 7553,
            "max": 1,
            "orderIndex": 0
        }
     ]
}

类似于

print "Description is: " + description
print "ID is: " + id
print "Max value is : " + max
4

2 回答 2

51

假设您将该字典存储在一个名为 values 的变量中。要进入id变量,请执行以下操作:

idValue = values['criteria'][0]['id']

如果该 json 在文件中,请执行以下操作来加载它:

import json
jsonFile = open('your_filename.json', 'r')
values = json.load(jsonFile)
jsonFile.close()

如果该 json 来自 URL,请执行以下操作来加载它:

import urllib, json
f = urllib.urlopen("http://domain/path/jsonPage")
values = json.load(f)
f.close()

要打印所有标准,您可以:

for criteria in values['criteria']:
    for key, value in criteria.iteritems():
        print key, 'is:', value
    print ''
于 2012-10-17T12:52:29.020 回答
11

假设您正在处理输入中的 JSON 字符串,您可以使用json包解析它,请参阅文档

在您发布的具体示例中,您需要

x = json.loads("""{
 "accountWide": true,
 "criteria": [
     {
         "description": "some description",
         "id": 7553,
         "max": 1,
         "orderIndex": 0
     }
  ]
 }""")
description = x['criteria'][0]['description']
id = x['criteria'][0]['id']
max = x['criteria'][0]['max']
于 2012-10-17T12:55:41.840 回答