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

Python Json.dump()没有预期的输出,python,json,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_

我在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"
    }
]

有什么想法吗?

我坚持认为输入是错误的(我在评论中说的)。但是,您可以尝试将您提供的输入更改为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)

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

json似乎还可以。你的意见是什么?你期望的格式是什么?我们需要更多的细节来回答。你期望的JSON格式是什么?您发布的JSON是有效的JSON。我需要得到类似于:“683”:{“nightly_result”:null,…etc}和您给函数的输入?我认为问题在于您没有正确地传递输入,否则可能会被忽略。
pass\u blocked\u result
是一个元素在整数和字典之间交替的列表。如果您想转储字典,则将
传递\u blocked\u结果
到字典中。