我试图在python中操纵一些JSON,但我真的陷入困境。我可以在python中使用基本词典但不是这个。我试图提取单个变量值(AKA是键值对的值部分)。
data = json.dumps({
"example":[
{
"id": "001",
"somefield": "yes",
"text": "This is text",
"options":[
{
"firstop": "yesitis",
"secondop":1
}
],
"length":5
},
]
“示例”中有许多其他条目,但这是第一个。我已经尝试过相当于(并且这可以通过打印出所有内容来实现):
print json.loads(data)['example']
但是执行以下操作不起作用:
print json.loads(data)['example']['id']
我不知道如何逐个访问变量。我一直在尝试使用“for key,value in json.loads(data)['example']:”等等的变体,但它们都告诉我解压缩的值太多了。
答案 0 :(得分:7)
如果您查看格式,您会看到它实际上是一个包含字典的列表。
尝试:
print json.loads(data)['example'][0]['id']
答案 1 :(得分:0)
您也可以尝试jsontree
>>> mytree = jsontree()
>>> mytree.something.there = 4
>>> mytree['something']['there'] == 5
>>> False
>>> mytree['something']['there'] == 4
>>> True
答案 2 :(得分:0)
由于“example”是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']