从一个项目创建一个json输出,在一个项目中创建一个json输出

时间:2016-03-24 17:25:49

标签: python json dictionary

我正在努力解决以下看起来如此简单但不是真正的python问题。我想从一个简单的项目和一个具有相同键的字典创建一个有效的json输出。

所以希望的输出应该是这样的:

[
    {
        "id": "1",
        "array": [
            {
                "item": [
                    "one",
                    "two",
                    "three"
                ]
            }
        ]
    },
    {
        "id": "2",
        "array": [
            {
                "item": [
                    "one",
                    "two",
                    "three"
                ]
            }
        ]
    }
]

让我们说我存储"一个","两个","三个"列表中我必须迭代的项目。我更喜欢"项目"键是相同的,但如果你们中的一个可以帮助我使用不同的键(item_1,item_2,item_3),我也可以接受它。

非常感谢你!

1 个答案:

答案 0 :(得分:1)

您不清楚输入的内容,但我认为以下是您想要的内容:

import json

# input data consists of records stored in lists.
items = [
    ['one', 'two', 'three'],
    ['four', 'five', 'six']
]

# create a JSON string from records
# if you want to write to file instead, see json.dump    
data = json.dumps(
    [{'id': k, 'array': [{'item': i}]} for k, i in enumerate(items, 1)],
    indent=4
)
print(data)

这将产生:

[
    {
        "array": [
            {
                "item": [
                    "one",
                    "two",
                    "three"
                ]
            }
        ],
        "id": 1
    },
    {
        "array": [
            {
                "item": [
                    "four",
                    "five",
                    "six"
                ]
            }
        ],
        "id": 2
    }
]