【问题标题】:How to add parent object in JSON with python如何使用python在JSON中添加父对象
【发布时间】:2018-09-26 05:33:44
【问题描述】:

我有这个 json,它有 3 个父元素和每个父元素下的几个子元素。 我想为所有 3 个当前父母添加一个共同的父母。

目前我有:

 {
  "Parent1": {
    "Key1": "Value",
    "Key2": "Value",
    "Key3": "Value"
},
  "Parent2": {
    "Key1": "Value",
    "Key2": "Value",
    "Key3": "Value"
  },
  "Parent3": {
    "Key1": "Value",
    "Key2": "Value",
    "Key3": "Value"
  }
}

我想拥有什么:

{
  "Main parent": {
    "Parent1": {
      "Key1": "Value",
      "Key2": "Value",
      "Key3": "Value"
    },
    "Parent2": {
      "Key1": "Value",
      "Key2": "Value",
      "Key3": "Value"
    },
    "Parent3": {
      "Key1": "Value",
      "Key2": "Value",
      "Key3": "Value"
    }
  }
}

以下 python3 代码不起作用:

with open ("myfile.json", 'r') as f:
    myjson = json.load(f)

myjson["Main Parent"] = myjson

如果您能对这种情况有所了解,我将不胜感激。

【问题讨论】:

    标签: python json python-3.x dictionary


    【解决方案1】:

    您可以创建一个新的 dict 并将 Main Parent 映射到您的子 JSON:

    new_json = dict()
    new_json["Main Parent"] = myjson
    

    【讨论】:

    • 非常感谢。这可以完成工作,但下面的答案可以少一行
    • @Tgsmith61591,感谢您的回答,当我尝试上述解决方案时,我在 JSON 文件中得到了反斜杠 \。你能告诉我如何解决这个问题吗?
    • Traceback (most recent call last): File "<string>", line 24, in <module> ValueError: Couldn't fix JSON [Program finished]如果我们不在数据的开头/结尾添加 [] 并尝试解析它,如果我们验证我们得到{'Parent1': {'Key1': 'Value', 'Key2': 'Value', 'Key3': 'Value'}, 'Parent2': {'Key1': 'Value', 'Key2': 'Value', 'Key3': 'Value'}, 'Parent3': {'Key1': 'Value', 'Key2': 'Value', 'Key3': 'Value'}} [Program finished],这意味着您发布的示例看起来不错。文件可能有些问题。
    【解决方案2】:
    with open ("myfile.json", 'r') as f:
        myjson = json.load(f)
    
    myjson = {'Main Parent': myjson}
    

    【讨论】:

    • @panta,感谢您的回答,当我尝试上述解决方案时,我在 JSON 文件中得到了反斜杠 \。你能告诉我如何解决这个问题吗?
    • @SaurabhBade 也许你有一些字符需要在你的 json 中引用? (其他引号,...)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 2020-09-11
    相关资源
    最近更新 更多