Python 解析缺少字段的JSON
我有一个带有动态字段的json数组,其中一些数组没有包含所有字段。 例如:Python 解析缺少字段的JSON,python,json,Python,Json,我有一个带有动态字段的json数组,其中一些数组没有包含所有字段。 例如: [ { "Name": "AFG LIMITED", "Vendor ID": "008343", "EGID": "67888", "FID": "83748374" }, {
[
{
"Name": "AFG LIMITED",
"Vendor ID": "008343",
"EGID": "67888",
"FID": "83748374"
},
{
"Name": "ABC LIMITED",
"Vendor ID": "008333",
"EGID": "67888",
"AID": "0000292"
"FID": "98979"
},
]
我需要提取带有标题和管道分隔符的特定键,如:Name | Vendor ID | EGID | AID(仅存在于第二个数组中)。如果任何键不存在,那么它应该具有空值
我试着用下面的代码来解析这个,但是它在第二行中断了,因为援助丢失了
import json
with open("sample.json", "r") as rf:
decoded_data = json.load(rf)
# Check is the json object was loaded correctly
try:
for i in decoded_data:
print i["Name"],"|",i["Vendor ID"]"|",i["EGID"],"|",i["AId"]
except KeyError:
print(null)
上述代码的输出:
AFG LIMITED | 008343 | 67888 | null
i.get(key,default_值)
谢谢,但它打印相同的代码时出现以下错误:print i.get([“Name”],“),”,i.get([“Vendor ID”],“),“|”,i.get([“EGID”,“,”,“),“,”,i.get([“AId”,”)TypeError:unhable类型:'list'@raviarkey参数应为字符串,e>
而不是[“Name”]
。您不需要添加方括号,因为您调用的是一个方法,而不是使用方括号操作符进行查找。TypeError
是Python将方括号解释为列表的结果,不允许将列表作为键,因为列表不能散列。谢谢,我将其改为字符串并进行了处理,但我想知道如何打印与打印相同的标题,请提出建议。@RaviKumar只需将默认值设置为“null”
而不是空字符串(例如,i.get(“Name”,“null”)
),不存在的字段将在输出中具有“null”值。