2015-05-14 77 views
-1

我并不对该等数据的嵌套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'} 
]}} 

脚本中将做什么修改

+0

您的'variations_hash'似乎是一个不是字典的列表。您的示例输出中也一样。列表是用整数索引的,而不是用字符串(比如'“mouna”')。 –

回答

1
 
Due to the line: variations_hash = varaitions_array 
variations_hash is now a list and not a dictionary any more. 
Hence, the error. 
0

由于variations_hash是一个列表,而不是一个字典,所以您可能需要循环访问列表,然后获取密钥。