#python
#python
Вопрос:
Я пытаюсь манипулировать некоторыми JSON в python, но я действительно застрял. Я могу работать с базовыми словарями на python, но не с этим. Я пытаюсь извлечь отдельные значения переменных (они же часть значения пары ключ-значение).
data = json.dumps({
"example":[
{
"id": "001",
"somefield": "yes",
"text": "This is text",
"options":[
{
"firstop": "yesitis",
"secondop":1
}
],
"length":5
},
]
В «example» есть много других записей, но это первая. Я попытался выполнить эквивалент (и это работает, распечатывая все):
print json.loads(data)['example']
Но выполнение следующего не работает:
print json.loads(data)['example']['id']
Я не знаю, как обращаться к переменным по одному. Я экспериментировал с вариантами «для ключа, значения в json.loads (data) [‘example’]:» и т. Д. Но все они говорят мне, что слишком много значений для распаковки.
Ответ №1:
если вы посмотрите на формат, вы увидите, что на самом деле это список, содержащий словари.
попробуйте:
print json.loads(data)['example'][0]['id']
Ответ №2:
Вы также можете попробовать jsontree
>>> mytree = jsontree()
>>> mytree.something.there = 4
>>> mytree['something']['there'] == 5
>>> False
>>> mytree['something']['there'] == 4
>>> True
Ответ №3:
Поскольку «пример» представляет собой список json: если вы хотите получить доступ к id или другим ключам
print json.loads(data)['example'][0]['id']
print json.loads(data)['example'][0]['text'] ...
Если вы хотите получить доступ к ключам внутри параметров :
print json.loads(data)['example'][0]['options'][0]['firstop']