不能键值嵌套JSON在Python
问题描述:
我并不对该等数据的嵌套JSON追加在Python不能键值嵌套JSON在Python
products = {}
results_hash = {}
variations_hash = {}
varaitions_array = []
variations_hash = varaitions_array
results_array = variations_hash
products["results"] = results_hash
products["results"]["variations"] = variations_hash
fname = "mouna"
lname = "raj"
sname = "kumar"
slname = "vel"
variations_hash[fname] = lname
variations_hash[sname] = slname
print products
错误:
Traceback (most recent call last):
File "json_test.py", line 17, in <module>
variations_hash[fname] = lname
TypeError: list indices must be integers, not str
预期输出:
{'results': {'variations': [{'Mouna': 'raj'}
,{'kumar': 'vel'}
]}}
脚本中将做什么修改
答
Due to the line: variations_hash = varaitions_array variations_hash is now a list and not a dictionary any more. Hence, the error.
答
由于variations_hash是一个列表,而不是一个字典,所以您可能需要循环访问列表,然后获取密钥。
您的'variations_hash'似乎是一个不是字典的列表。您的示例输出中也一样。列表是用整数索引的,而不是用字符串(比如'“mouna”')。 –