向python list>json obj添加字符串

2024-04-26 23:39:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下清单:

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"}

Tags: 对象importjsongreenbluereddictcolor
2条回答

您的解决方案创建了一个键值顺序错误的扁平字典。您应该尝试以下方法:

{'rainbow': [{'color': color} for color in rainbow]}

这将创建一个“彩虹”键,其值为字典列表(使用列表理解创建)。你知道吗

你可以这样做:

import json
json.dumps({"rainbow": [{"color": color} for color in rainbow]})

相关问题 更多 >