python连接子字典

python连接子字典,python,json,dictionary,Python,Json,Dictionary,我试图在python中加入sub dict,以便组成有效的json 我得到的是: { 'ctx/language': 'en', 'ctx/territory': 'DE', 'composer_name': 'openEHR2study', 'Allergies': { 'adverse_reaction-allergy': [{ 'reaction_event_summary': { 'clinical_impact': [{

我试图在python中加入sub dict,以便组成有效的json 我得到的是:

{
'ctx/language': 'en',
'ctx/territory': 'DE',
'composer_name': 'openEHR2study',
'Allergies': {
    'adverse_reaction-allergy': [{
            'reaction_event_summary': {
                'clinical_impact': [{
                        '|code': 'at0035'
                    }
                ]
            }
        }, {
            'recorded': ['2020-05-14T00:00:00.000Z']
        }, {
            'reaction_event_summary': {
                'certainty': [{
                        '|code': 'at0024'
                    }
                ]
            }
        }, {
            'substance_agent': ['s']
        }, {
            'reaction_reported': ['true']
        }, {
            'comment': ['c']
        }
    ]
}
}

我想要的是这样一个“反应\事件\总结”的加入:

{
'ctx/language': 'en',
'ctx/territory': 'DE',
'composer_name': 'openEHR2study',
'Allergies': {
    'adverse_reaction-allergy': [{
            'reaction_event_summary': {
                'clinical_impact': [{
                        '|code': 'at0035'
                    }
                ]
                 'certainty': [{
                        '|code': 'at0024'
                    }
                ]
            }
        }, {
            'recorded': ['2020-05-14T00:00:00.000Z']
        }, {
            'substance_agent': ['s']
        }, {
            'reaction_reported': ['true']
        }, {
            'comment': ['c']
        }
    ]
}

我不知道如何循环使用json/列表和DICT来完成这项工作。

我做了一次粗略的尝试,请检查是否有效。我们正试图用另一本词典来重复这本词典


val={
“ctx/语言”:“en”,
“ctx/地区”:“DE”,
“作曲家姓名”:“OpenEHR2研究”,
“过敏症”:{
“不良反应-过敏”:[
{
“反应事件摘要”:{
“临床影响”:[{
“|代码”:“at0035”
}
]
}
}, {
“录制的”:['2020-05-14T00:00:00.000Z']
}, {
“反应事件摘要”:{
“确定性”:[{
“|代码”:“at0024”
}
]
}
}, {
“物质试剂”:['s']
}, {
“反应报告”:[“正确”]
}, {
'评论':['c']
}
]
}
}
导入副本
val1=复制。深度复制(val)
del val1[“过敏”][“不良反应-过敏”]
val1['过敏]['不良反应-过敏]=[]
反应计数=0
对于val[“过敏”][“不良反应-过敏”]:
如果获取('reaction\u event\u summary',False):
如果反应计数小于1:
反应计数+=1
val1[“过敏”][“不良反应-过敏”]。追加(
{'reaction\u event\u summary':_d.get('reaction\u event\u summary'))
其他:
打印(_d.get('reaction_event_summary'))
_temp=val1[“过敏”][“不良反应-过敏”][0][“反应-事件摘要”]
_temp['definitional']=\u d.get('reaction\u event\u summary',{}).get('definitional',{})
val1[“过敏”][“不良反应-过敏”][0][“反应-事件-总结”]=\u温度
其他:
val1[“过敏”][“不良反应-过敏”]。追加(\u d)
导入json
打印(json.dumps(val1,indent=2))
示例输出

{
  "ctx/language": "en",
  "ctx/territory": "DE",
  "composer_name": "openEHR2study",
  "Allergies": {
    "adverse_reaction-allergy": [
      {
        "reaction_event_summary": {
          "clinical_impact": [
            {
              "|code": "at0035"
            }
          ],
          "certainty": [
            {
              "|code": "at0024"
            }
          ]
        }
      },
      {
        "recorded": [
          "2020-05-14T00:00:00.000Z"
        ]
      },
      {
        "substance_agent": [
          "s"
        ]
      },
      {
        "reaction_reported": [
          "true"
        ]
      },
      {
        "comment": [
          "c"
        ]
      }
    ]
  }
}


请将您的示例简化为描述您的问题的最短示例。“…在python中加入sub Dicts,以便生成有效的json”。难道你没有从
json.dumps(d)
中得到一个有效的json,其中d是你当前的字典吗?我试过你的代码。它的工作原理与示例输出相同,但我将确定性作为确定性的子元素。我会设法弄明白的。试试这个,看起来好多了。