Python:将JSON对象转换为JSON数组

时间:2018-05-01 12:19:31

标签: python json

我在python中有以下字典,我将其保存到文件中:

d2 = {
    "CHARACTER": {
        "IDENTITY": {
            "FORM": {
                "id": "BK1",
                "type": "MAGE",
                "role": "DARK"
            }
        },
        "USER": {
            "owner": {
                "id": "SABBATH13"
            },
            "level": "16"
        }
    }
}

jsonfile = open('d2.json', 'w')
jsonfile.write(simplejson.dumps(d2, indent=4))
jsonfile.close()

但是,我告诉这是一个JSON对象,我需要将其转换为以下形式的JSON数组:

[{
    "CHARACTER": {
        "IDENTITY": {
            "FORM": {
                "id": "BK1",
                "type": "MAGE",
                "role": "DARK"
            }
        },
        "USER": {
            "owner": {
                "id": "SABBATH13"
            },
            "level": "16"
        }
    }
}]

这主要是在开头和结尾添加方括号。

这样做的正确方法是什么?我应该转换为字符串并添加括号,然后转换回来?对不起,这里有JSON新手。

1 个答案:

答案 0 :(得分:5)

你正在考虑错误的抽象层次。它不是关于括号,关于你有一个数据结构是一个对象,当你显然需要的是一个列表/对象数组时(即使有& #39;只是列表中的一个对象)。所以:

Intent intent = new Intent(getActivity(),MyService.class);
getActivity().startService(intent);

现在d2 = [d2] 这就是你得到你需要的东西。