python - 将字典(数组)导出到json

时间:2011-08-05 18:38:09

标签: python json dump

我有一系列字典,如下:

myDict[0] = {'date':'today', 'status': 'ok'}
myDict[1] = {'date':'yesterday', 'status': 'bad'}

我正在尝试将此数组导出到json文件,其中每个字典都是自己的条目。问题是当我尝试运行时:

dump(myDict, open("test.json", "w"))

它在每个条目之前输出一个带有数字前缀的json文件

{"0": {"date": "today", "status": "ok"}, "1": {"date": "yesterday", "status": "bad"} }

这显然不合法json,因为我的json解析器(protovis)给我错误消息

有什么想法吗? 感谢

2 个答案:

答案 0 :(得分:4)

使用列表而不是字典;你可能用过:

myDict = {}
myDict[0] = {...}

您应该使用:

myList = []
myList.append({...}

P.S。:无论如何,这对我来说似乎是有效的,但它是一个对象,而不是一个列表;也许这就是你的解析器抱怨的原因

答案 1 :(得分:0)

您应该使用JSON序列化程序......

此外,一系列字典可以更好地序列化为:

[
    {
        "date": "today",
        "status": "ok"
    },
    {
        "date": "yesterday",
        "status": "bad"
    }
]

也就是说,你应该只使用一个JavaScript数组。