当我试图从JSON字符串检索值,它给了我一个错误:
data = json.loads('{"lat":444, "lon":555}')
return data["lat"]
但是,如果我遍历数据,它给我的元素( lat
和lon
),但不是值:
data = json.loads('{"lat":444, "lon":555}')
ret = ''
for j in data:
ret = ret + ' ' + j
return ret
返回: lat lon
我需要什么做的就是值lat
和lon
? ( 444
和555
)
如果你想在字典中的键和值迭代,这样做:
for key, value in data.items():
print key, value
什么错误是它给你?
如果你做到这一点:
data = json.loads('{"lat":444, "lon":555}')
然后:
data['lat']
不应该给你任何错误的。
使用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'])
有有有利于获得类似的Json字典键值为属性的模块PY库: https://github.com/asuiu/pyxtension你可以使用它作为:
j = Json('{"lat":444, "lon":555}')
j.lat + ' ' + j.lon
使用你的代码,这是我会怎么做。 我知道,选择一个答案,只是给其他选项。
data = json.loads('{"lat":444, "lon":555}')
ret = ''
for j in data:
ret = ret+" "+data[j]
return ret
当您在这个庄园使用你的对象,而不是价值的关键,这样你就可以得到价值,通过使用关键字作为索引。