简体   繁体   English

重新格式化一个 json 文件(python)

[英]reformatting a json file (python)

I have a json file which is split into 3 sections..我有一个 json 文件,它分为 3 个部分。

{
"columns": {
"0": "Account Number",
"1": "Airport",
"2": "Terminal",
},
"rows": [
[
[
{
"v": "1234 "
},
{
"v": "LHR - London Heathrow"
},
{
"v": "T3"
}
]
]
]
,"types": [
    {
        "0": "TEXT",
        "1": "TEXT",
        "2": "TEXT"
}
]
}

what i want it to be like is this :我希望它是这样的:

{ "Account Number" : "1234", "Airport" : "LHR - London Heathrow", "Terminal" : "T3" } {“帐号”:“1234”,“机场”:“LHR - 伦敦希思罗机场”,“航站楼”:“T3”}

How can acheive this please?请问如何实现?

Dependencies依赖关系

import json
import ast

Reading Json as file将 Json 作为文件读取

with open("file.json") as f:
    data = ast.literal_eval(f.read())

Reading Json as String读取 Json 作为字符串

askersString = """{
"columns": {
"0": "Account Number",
"1": "Airport",
"2": "Terminal",
},
"rows": [
[
[
{
"v": "1234 "
},
{
"v": "LHR - London Heathrow"
},
{
"v": "T3"
}
]
]
]
,"types": [
    {
        "0": "TEXT",
        "1": "TEXT",
        "2": "TEXT"
}
]
}"""

data = ast.literal_eval(askersString)

Creating new json创建新的 json

columns = data["columns"]
a = data["rows"][0][0]
newJson = {}

for k, v in columns.items():
    newJson[v] = a[int(k)]['v']

updatedJson = json.dumps(newJson, indent=4)
print(updatedJson)

Output输出

{
    "Account Number": "1234 ",
    "Airport": "LHR - London Heathrow",
    "Terminal": "T3"
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM