【问题标题】:inserting the new json data in the already existing json list在已经存在的 json 列表中插入新的 json 数据
【发布时间】:2020-08-28 14:46:25
【问题描述】:

我正在尝试使用更新函数将 json 数据插入到另一个 json 数据列表数据中

数据集:

data = {'name':{'first' : 'xx', 'last': 'yy'}, 'class': {'standard': '5', 'section': '6'}}   

maindata = [{'school': {'govt':{ 'value':'public1', 'item':'zphs1'}, 'convent':{'value':'private1','item':'HPS1'}}}, 
            {'school': {'govt':{ 'value':'public2', 'item':'zphs2'}, 'convent':{'value':'private2','item':'HPS2'}}}]

尝试将数据放入标签'school'之后的主要数据中

预期输出:

maindata = [{'school': {'govt':{ 'value':'public1', 'item':'zphs1'}, 'convent':{'value':'private1','item':'HPS1'}, 'name':{'first' : 'xx', 'last': 'yy'}, 'class': {'standard': '5', 'section': '6'}}}, 
            {'school': {'govt':{ 'value':'public2', 'item':'zphs2'}, 'convent':{'value':'private2','item':'HPS2'},'name':{'first' : 'xx', 'last': 'yy'}, 'class': {'standard': '5', 'section': '6'}}}]

使用的代码:

for i in maindata:
i['school'].update(data)

返回无

【问题讨论】:

  • 在后面的代码示例中,i['school'] 行是否应该缩进?

标签: python json python-3.x list


【解决方案1】:

您的代码是正确的:maindata 字典正在更新。进行以下更新后:

for i in maindata:
    i['school'].update(data)

检查maindata 的值,它应该正是您所期望的。您还可以通过执行以下操作来验证这一点:

desired_output = [
    {'school': {'govt':{ 'value':'public1', 'item':'zphs1'}, 'convent':{'value':'private1','item':'HPS1'}, 'name':{'first' : 'xx', 'last': 'yy'}, 'class': {'standard': '5', 'section': '6'}}},
    {'school': {'govt':{ 'value':'public2', 'item':'zphs2'}, 'convent' {'value':'private2','item':'HPS2'},'name':{'first' : 'xx', 'last': 'yy'}, 'class': {'standard': '5', 'section': '6'}}}
]

for i in maindata:
    i['school'].update(data)

maindata == desired_output

这对我有用。

【讨论】:

    【解决方案2】:

    字典更新方法预计不会返回任何内容。它执行改变目标字典的就地更新。要查看返回的内容,请尝试在更新运行后查看 maindata 的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      相关资源
      最近更新 更多