使用Python从JSON获取值

pvcm50d1  于 2022-11-19  发布在  Python
关注(0)|答案(5)|浏览(151)

当我试图从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

uurity8g

uurity8g1#

如果您想循环访问字典的键和值,请执行以下操作:

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

kt06eoxx2#

它给你带来了什么错误?
如果您完全执行以下操作:

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

然后道:

data['lat']

不应给予您任何错误。

tyky79it

tyky79it3#

使用Python从提供的Json中提取值
工作样品:

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'])
cnjp1d6j

cnjp1d6j4#

有一个Py库,它有一个模块,可以方便地将类似JSON的字典键值作为属性进行访问:pyxtensionGithub source code的函数
您可以将其用作:

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

2vuwiymt5#

使用您的代码,这就是我将如何做。我知道一个答案被选中,只是给出额外的选项。

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

当您以这种方式使用“for”时,您得到的是对象的键,而不是值,因此您可以通过将键用作索引来得到值。

相关问题