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

1 投票
2 回答
1799 浏览
提问于 2025-04-16 22:59

我有一个字典数组,长得像这样:

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

你应该使用一个JSON序列化工具...

另外,使用字典数组会更好地转换成类似这样的东西:

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

也就是说,你只需要使用一个JavaScript数组就可以了。

4

用列表代替字典;你可能用了:

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

你应该用:

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

附注:对我来说,这看起来是有效的json,但它是一个对象而不是列表;也许这就是你的解析器出问题的原因。

撰写回答