从python dict更改嵌套json结构

从python dict更改嵌套json结构,python,json,dictionary,Python,Json,Dictionary,我有一个巨大的JSON文件:substitutions.JSON,看起来像这样: [ { "city":"05045", "tribunals":[ {"name":"tribunal 1","value":"path_1"} ] }, {

我有一个巨大的JSON文件:
substitutions.JSON
,看起来像这样:

[
    {
        "city":"05045",
        "tribunals":[
            {"name":"tribunal 1","value":"path_1"}
            ]
    },
    {
        "city":"81001",
        "tribunals":[
            {"name":"tribunal 1","value":"path_1"},
            {"name":"tribunal 2","value":"path_2"},
            {"name":"tribunal 3","value":"path_3"},
            {"name":"tribunal 4","value":"path_4"},
            {"name":"tribunal 5","value":"path_5"},
            {"name":"tribunal 6","value":"path_6"}
            ]
    }
]
我想把它转换成这样:

{
    "05045": 
    {
        "tribunal 1": "path_1"
    },
    "81001":
    {
        "tribunal 1": "path_1",
        "tribunal 2": "path_2",
        "tribunal 3": "path_3",
        "tribunal 4": "path_4",
        "tribunal 5": "path_5",
        "tribunal 6": "path_6"
    }
}
我尝试了JSON上的不同类型的迭代以获得预期的输出,但没有一种有效。就目前而言,我正在这样做:

import json
tribunals = open('tribunals.json',encoding='utf-8')
tribunals = json.load(tribunals)

for tribunal in tribunals:
    print(tribunal['city'])
    for tribunals_list in tribunal['tribunals']:
        print(tribunals_list)
这给了我下一个输出

05045
{"name":"tribunal 1", "value":"path_1"}
81001
{"name":"tribunal 1","value": "path_1"}
{"name":"tribunal 2","value": "path_2"}
{"name":"tribunal 3","value": "path_3"}
{"name":"tribunal 4","value": "path_4"}
{"name":"tribunal 5","value": "path_5"}
{"name":"tribunal 6","value": "path_6"}
基于此,我将使用文本编辑器完成这项工作,但显然,最好的选择是完全用脚本完成这项工作。有什么建议吗


谢谢

为什么要打印而不是把它变成你要的字典?@Sayse,这是我尝试过的,但我不知道怎么做,这就是我把它贴在这里的原因。也许它需要在代码中稍作修改,但我已经试了几个小时没有实现它!为什么要打印而不是把它变成你要的字典?@Sayse,这是我尝试过的,但我不知道怎么做,这就是为什么要把它贴在这里。也许它需要在代码中稍作修改,但我已经试了几个小时没有实现它!谢谢那正是我想要的!谢谢那正是我想要的!
import json

tribunals = open('tribunals.json',encoding='utf-8')
tribunals = json.load(tribunals)

result = {}

for tribunal in tribunals:
    result[tribunal['city']] = {}
    for item in tribunal['tribunals']:
        result[tribunal['city']][item['name']] = item['value']

print(result)