我正在使用Axios向Django路由发布请求。
JSON 的结构如下:
{
"blanks": {
{
"id": 1,
"sizes": {
"id": 1,
"size": "SM"
}
},
{
"id": 1,
"sizes": {
"id": 1,
"size": "SM"
}
}
},
"locations": {
{
"id": 1,
"name": "Philadelphia"
},
{
"id": 2,
"name": "Boston"
},
}
}
我正在尝试遍历locations
中的每个对象,并对它们执行操作。我的 Django 函数如下:
def order_new_store(request):
post_unicode = request.body.decode('utf-8')
post = json.loads(request.body.decode('utf-8'))
for location in post['locations'].items():
#etc
但是,我的应用程序抛出以下错误:
AttributeError: 'list' object has no attribute 'items'
有没有办法重组我的 JSON 或我的循环,以便我可以获取 JSON 对象的子集并遍历它?
该错误指定location
键不映射到字典,而是映射到列表,字典列表。所以循环应该像这样迭代:
for location in post['locations']: #no.items()
loc_id = location['id']
loc_name = location['name']
# ...
所以这里location
是一个子字典,一个基于发布的 JSON 示例的字典,具有id
和name
键。例如,我们可以获取这些项目,并进行进一步处理。