Как извлечь 41677?

Мой json:

{"41677":{"key":"ilya","premium":"true"}}

Мой код:

params={"id": "ilya", "fmt": "json"}
r=requests.get("somesite", params=params )
data=json.loads(r.text)
0
Vsevolod Gromov 14 Дек 2015 в 22:27

3 ответа

Лучший ответ

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

Поскольку вам нужен ключ 41677, вы можете просто вызвать data.keys()[0], чтобы получить первый ключ вашего словаря.

РЕДАКТИРОВАТЬ:

Кроме того, если у вас есть список этой структуры JSON, вы можете перебирать ключи и значения с помощью функции items, например так:

for key, value in data.items():
    print key  # 41677
    print value  # {"key":"ilya","premium":"true"}
3
icarovirtual 14 Дек 2015 в 19:55
import json
s = {"41677":{"key":"ilya","premium":"true"}}
d = json.dumps(s)
l = json.loads(d)
l.keys()
0
tagoma 14 Дек 2015 в 20:25

Используя встроенный атрибут json в Requests:

data = requests.get("somesite", params=params ).json().keys()[0]

Предполагается, что json, который он возвращает, является {"41677": {"key": "ilya", "premium": "true"}}:

>>>print data
"41677"
0
Rainbow Kek 14 Дек 2015 в 20:09