遍历嵌套的 json 对象并使用 python 获取 table 中的值

iterate through nested json object and get values in table with python

我有一个 json 数据,例如

    "preference":[
                {
                  "access":"true1",
                  "visibility":"false1"
                },
                {
                  "access":"true2",
                  "visibility":"false2"
                },
                {
                  "access":"true3",
                  "visibility":"false3"
                },
           ]

我想访问列表对象并以 table 格式显示每个列表元素

    for item in data['preference']
         print(item)
      
     TableData = [
             [item.get('access'),item.get('visibility')]
             ]

这只打印最后一项

           {
              "access":"true3",
              "visibility":"false3"
            },

格式为table 请建议我一些代码以尽快访问 table 格式的每个元素 提前谢谢你..

如果只想显示数据,则不需要任何容器来保存数据

for item in data['preference']:
    print(f"{item.get('access')} | {item.get('visibility')}")

但是如果你想保存它们,使用周围的列表

# FIX YOUR COE
TableData = []
for item in data['preference']:
    TableData.append([item.get('access'), item.get('visibility')])

# IMPROVE
TableData = [[item.get('access'), item.get('visibility')] for item in data['preference']]

print(TableData)  # [['true1', 'false1'], ['true2', 'false2'], ['true3', 'false3']]

此行为的原因是您没有附加到 TableData list,您只是添加它,所以当您继续将元素添加到列表时它 覆盖最后一个元素。
这是您将获得预期输出的代码:

data = {
"preference":[
                {
                  "access":"true1",
                  "visibility":"false1"
                },
                {
                  "access":"true2",
                  "visibility":"false2"
                },
                {
                  "access":"true3",
                  "visibility":"false3"
                },
           ]
}
TableData = []
for item in data['preference']:
    print(item)
    TableData.append([item.get('access'),item.get('visibility')])
    
print (TableData)

输出:

[['true1', 'false1'], ['true2', 'false2'], ['true3', 'false3']]