首页 > 解决方案 > 将 json 值更改为数组

问题描述

我正在尝试更改嵌套 json 中的值并将其转换为数组。

这是当前的 json 输出:

print(response['Version']['Document'])

{
    "Statement": [
        {
            "ID": "000"
            "Resource": [
                "a----",
                "b----"
            ]
        }
        {
            "Resource": "c----"
        }
        {
            "ID": "000"
            "Resource": [
                "d----",
                "e----"
            ]
        }
    ]
}

我想将值"Resource": "c----"转换为数组,因此所需的输出如下所示:

{
    "Statement": [
        {
            "ID": "000"
            "Resource": [
                "a----",
                "b----"
            ]
        }
        {
            "Resource": [
                "c----"
            ]
        }
        {
            "Resource": [
                "d----",
                "e----"
            ]
        }
    ]
}

对此有什么好的解决方案?

标签: python

解决方案


首先,您可以使用 type() 查找变量的数据类型,并检查变量是否为 list 类型,则可以,如果不是,则可以将其转换为 list。

您可以使用以下代码

    jsonData=response['Version']['Document']
    for elem in jsonData['Statement']:
        if(type(elem['Resource'])==list):
            pass
        else:
            elem['Resource']=[elem['Resource']]

推荐阅读