Json.dump()没有预期的输出

时间:2018-02-15 14:03:06

标签: python json

我在python中有一组结果,我想将它们转换为JSON文件,所以我使用json.dump(),如下所示:

with open('pass_blocked.json','w') as outPassBlocked:
        json.dump(pass_blocked_results,outPassBlocked, indent=4)

但是,创建的文件没有我期望的JSON格式。如何创建正确的JSON文件?我得到的是:

[
    683, 
    {
        "nightly_result": null, 
        "current_result": "PASS", 
        "testrail_id": "12645"
    }, 
    2056, 
    {
        "nightly_result": null, 
        "current_result": "BLOCK", 
        "testrail_id": "13200"
    }, 
    1033, 
    {
        "nightly_result": null,  
        "current_result": "BLOCK", 
        "testrail_id": "9713"
    }, 
    1036, 
    {
        "nightly_result": null, 
        "current_result": "PASS", 
        "testrail_id": "1016748"
    }
]

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我坚持输入的错误(我在评论中说的话)。但是,您可以尝试更改为dump提供的输入,以您希望的方式重新创建列表。尝试这样的事情。

with open('pass_blocked.json','w') as outPassBlocked:
    pass_blocked_results = list(map(lambda i: {pass_blocked_results[i]: pass_blocked_results[i+1]}, 
                                    range(0, len(pass_blocked_results), 2)))
    json.dump(pass_blocked_results,outPassBlocked, indent=4)

您仍然应该看看如何创建列表。