遍历嵌套的 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']]
我有一个 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']]