使用Python从JSON获取值

时间:2012-09-10 14:00:43

标签: python json simplejson

当我尝试从JSON字符串中检索值时,它给出了一个错误:

data = json.loads('{"lat":444, "lon":555}')
return data["lat"]

但是,如果我迭代数据,它会给我元素(latlon),但不是值:

data = json.loads('{"lat":444, "lon":555}')
    ret = ''
    for j in data:
        ret = ret + ' ' + j
return ret

返回:lat lon

要获取latlon的值,我需要做什么? (444555

5 个答案:

答案 0 :(得分:74)

如果要迭代字典的键和值,请执行以下操作:

for key, value in data.items():
    print key, value

答案 1 :(得分:38)

它给你带来了什么错误?

如果你这样做:

data = json.loads('{"lat":444, "lon":555}')

然后:

data['lat']

不应该给你任何错误。

答案 2 :(得分:7)

使用Python从提供的Json中提取值

Working sample:-

import json
import sys

//load the data into an element
data={"test1" : "1", "test2" : "2", "test3" : "3"}

//dumps the json object into an element
json_str = json.dumps(data)

//load the json to a string
resp = json.loads(json_str)

//print the resp
print (resp)

//extract an element in the response
print (resp['test1'])

答案 3 :(得分:4)

使用您的代码,我就是这样做的。我知道选择了一个答案,只是提供了额外的选择。

data = json.loads('{"lat":444, "lon":555}')
    ret = ''
    for j in data:
        ret = ret+" "+data[j]
return ret

当您在此庄园中使用for时,您将获得对象的键,而不是值,因此您可以使用键作为索引来获取值。

答案 4 :(得分:4)

有一个Py库,它有一个模块,可以方便地访问类似Json的字典键值:https://github.com/asuiu/pyxtension 您可以将其用作:

j = Json('{"lat":444, "lon":555}')
j.lat + ' ' + j.lon