python - 删除子json对象python

标签 python json

我在 python 中有一个来自服务的动态 json(数据),该服务还为我提供了一个动态字符串数据 keyToDelete,我将在其中获取对象删除

对于示例 1 假设数据值是否如下所示

{
  "categories": {
    "attributes": {
      "Alcohol": "full_bar",
      "Noise Level": "average",
      "Music": {
        "dj": false
      },
      "Attire": "casual",
      "Ambience": {
        "romantic": false,
        "intimate": false,
        "touristy": false,
        "hipster": false
      }
    }
  }
}

这意味着它应该删除属性下的Ambience对象,实际结果应该是这样的

{
  "categories": {
    "attributes": {
      "Alcohol": "full_bar",
      "Noise Level": "average",
      "Music": {
        "dj": false
      },
      "Attire": "casual"
    }
  }
}

但是如何使用来自动态 keyToDelete 的 python 以编程方式创建上述删除

谁能帮我解决这个问题

最佳答案

snap shot 请试试这个。

def deleteKey(数据,keyList): 如果 len(keyList) > 1: 数据[keyList[0]] = deleteKey(数据[keyList[0]],keyList[1:]) 别的: 删除数据[keyList[0]] 返回数据 deleteKey(数据,keyToDelete.split("."))

关于python - 删除子json对象python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47090882/

相关文章:

Python 构建包错误- 'virtualenv' 没有属性 'cli_run'

python - 将多个值绘制为范围 - matplotlib

python - 如何将项目列表转换为 pandas 列?

python - 从 Python 启动 gunicorn

java - XML 到 JSON 的动态转换

javascript - 当新 key 位于 json 中时,PHP ajax 添加新的 div

javascript - 如何将此 JSON 文件中的图像正确附加到正确的 div 中

java - Spring Restful Service + Spring for android,上传文件时缺少参数

c# - 将 JSON (jQuery) 映射到 KeyValuePair

python - 为什么使用多个参数来记录而不是插值?