我需要帮助我如何使用python从JSON结构访问元素。
假设我有一个像这样的JSON
{
'result':
[
{
'aa':1,
'bb':2
},
{
'cc':3,
'dd':4
}
]
}
在python中,如何准确获取aa
或dd
的数据?
我试过
str1 = {'result':[{'aa':1, 'bb':2},{'cc':3, 'dd':4}]}
str1new = str1['result']['aa]
但它给了我错误
list indices must be integers, not str
我该如何解决这个问题?有没有其他方法使用python从JSON获取数据?感谢您的帮助。我真的很感激。
答案 0 :(得分:3)
尝试这个,如果你有更多,下一个使用索引,如1或2,或者你可以循环json
中有多个索引。
str1new = str1['result'][0]['aa']
答案 1 :(得分:2)
在python中如果你写:
str1 = {'result':[{'aa':1, 'bb':2},{'cc':3, 'dd':4}]}
它是字典而不是json。
如果您的输入有json字符串,则需要使用
import json
json_str = """{
"result":
[
{
"aa":1,
"bb":2
},
{
"cc":3,
"dd":4
}
]
}"""
str1 = json.loads(json_str)
然后你可以使用类似于python的字典。
如其他人所回答,您可以使用
aa = str1['result'][0]['aa']
答案 2 :(得分:1)
试
str1new = str1['result'][0]['aa]
答案 3 :(得分:1)
由于str1['result']
是一个列表,这就是您收到list indices must be integers, not str
错误的原因。
aa = str1['result'][0]['aa']
dd = str1['result'][1]['dd']
答案 4 :(得分:1)
result
是一个列表,因此您需要在访问aa
之前引用有效索引:
str1 = {'result':[{'aa':1, 'bb':2},{'cc':3, 'dd':4}]}
str1new = str1['result'][0]['aa']
答案 5 :(得分:1)
在Python中,除非你使用包(然后指定它)," JSON"结构实际上就是决定。
{
'result':
[
{
'aa':1,
'bb':2
},
{
'cc':3,
'dd':4
}
]
}
在这里,你的dict只有一个键:result
。其值包含在列表中。此列表是一个dicts列表。因此,使用级联索引访问来获取aa
值:
str1['result'][0]['aa']
答案 6 :(得分:0)
对于Python3,使用Json库,您可以轻松解析Json。
# import statement
import json
# using example sting from above
jsonString = '{ "result" : [{ "aa": 1,"bb": 2 }, { "cc": 3, "dd": 4 }]}'
# parse json string
parsedJsonObject = json.loads(jsonString)
# access a specific property in the json object
resultObject = parsedJsonObject['result']