我有一个巨大的JSON文件:tribunals.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"}
和在此基础上,我整理使用文本编辑器的工作,但很明显,最好的办法是使用脚本完全这样做。有什么建议吗?
谢谢
答案 0 :(得分:2)
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)