Подтвердить что ты не робот

Получение значений из JSON с использованием Python

В то время как я пытаюсь получить значения из строки 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)

4b9b3361

Ответ 1

Если вы хотите итерации по обеим клавишам и значениям словаря, сделайте следующее:

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

Ответ 2

Какая ошибка это дает вам?

Если вы выполните именно это:

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

Тогда:

data['lat']

НЕ ДОЛЖНО дать вам какую-либо ошибку вообще.

Ответ 3

Использование 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'])

Ответ 4

Используя ваш код, я бы так и сделал. Я знаю, что был выбран ответ, просто давая дополнительные опции.

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

Когда вы используете для в этом поместье, вы получаете ключ объекта, а не значение, поэтому вы можете получить значение, используя ключ в качестве индекса.

Ответ 5

Существует библиотека Py, которая имеет модуль, который облегчает доступ к Json-подобным словарным значениям в качестве атрибутов: https://github.com/asuiu/pyxtension Вы можете использовать его как:

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