我遇到了一个愚蠢的问题。
我有一个json数据并尝试将其保存在我的模型中。
这是代码。
response = response.json() #this gives json data
response = json.loads(response) #loads string to json
json_string = response #ready to get data from list
modelfielda = json_string.get("abc") # this works fine
modelfieldb = json_string.get('["c"]["d"]["e"]') #this does not give data though data is present.
我的json数据是这样的:
{
"abc":"AP003",
"c":[
{
"d":{
"e":"some data",
"f":"some data"
}
}
]
}
所以我的问题是如何在c
内获取数据。
答案 0 :(得分:2)
请尝试Bag
:=
或使用列表:
e
答案 1 :(得分:1)
使用多个.get
s :
bnm = json_string.get('c')[0].get('d').get('e') # bnm = 'some data'
或者更好(因为如果密钥不存在会出错):
bnm = json_string['c'][0]['d']['e'] # bnm = 'some data'
由于您将其转换为Python字典,因此您基本上使用字典,并且可以使用some_dict[some_key]
获取与键对应的值。由于我们这里有一系列字典,因此我们获得了我们再次获得相应值的子字典。与c
对应的值是一个列表,我们可以通过编写[0]
来获取第一个元素。