我有以下列表:
rainbow = ['green', 'red', 'blue', 'yellow' ,'orange']
我希望输出是一个JSON对象,如下所示:
{
"rainbow":[
{
"color": "green"
},
{
"color": "red"
},
{
"color": "blue"
},
{
"color": "yellow"
}
{
"color": "orange"
}
]}
任何想法?我尝试了很多事情,一直在努力寻找解决方案。
import json
import itertools
rainbow = ['green', 'red', 'blue', 'yellow' ,'orange']
d = dict((k,'color') for k in rainbow)
skittles = json.dumps(d)
print skittles
{"blue": "color", "orange": "color", "green": "color", "yellow": "color", "red": "color"}
答案 0 :(得分:2)
您的解决方案会创建一个包含错误键值顺序的扁平字典。你应该尝试类似的东西:
{'rainbow': [{'color': color} for color in rainbow]}
这会创造一条彩虹' key,以字典列表作为其值(使用列表推导创建)。
答案 1 :(得分:1)
你可以这样做:
import json
json.dumps({"rainbow": [{"color": color} for color in rainbow]})