如何使用Python获取Json数据?

时间:2012-06-19 05:22:33

标签: python json rest

我想要做的是使用Python将Json数据作为列表(或数组)输出,我尝试过几次但是没有用。我的json数据是这样的:

{
    "status":"OK",
    "List":{
        "stuff":[{
            "id":"326",
            "name":"a",
            "url":"autob-fulla.tgz",
        },{
            "id":"327",
            "name":"b",
            "url":"auto-fullb.tgz",
        },{
            "id":"328",
            "name":"c",
            "url":"auto-fullc.tgz",
        }]
    }
}

我想返回“id”的所有值。现在我的代码是这样的:

import json
def retrieve():
    print('retrieving results...')
    testQueueID = '1';
    base_url1 = 'http://localhost:8080/stuff'
    conn = Connection(base_url1, username='admin', password='admin')
    resp = conn.request_get("", args={}, headers={'content-type':'application/xml', 'accept':'application/xml'})
    decoded_json = json.loads(json.dumps(resp, sort_keys=True, indent=4, skipkeys=True))
    return decoded_json 

2 个答案:

答案 0 :(得分:4)

请忽略json.dumps来电。你已经有一个包含JSON的字符串,所以你需要的只是json.loads()

答案 1 :(得分:1)

1。)xml!= Json

2。)首先尝试这个http://www.doughellmann.com/PyMOTW/json/。它会教你。

3。)简单的代码,帮助您入门。查看打印的数据。

import json
from pprint import pprint
json_data=open('json_datafile')

data = json.load(json_data)
pprint(data)
json_data.close()