繁体   English   中英

通过python中的引用从对象中删除嵌套的json键值对

[英]Removing nested json key-value pair from object by reference in python

我需要从 python json 对象中删除嵌套的键值。 json 中此嵌套对象的路径以字符串形式提供给我。

如果我对对象进行硬编码,我可以使用del命令执行此操作。 但是,我无法弄清楚如何取消引用字符串以获取对象。

因此,在下面的代码片段中,对象在第一个del之后没有改变,但在第二个del之后删除了键值。

input_obj = [
        {
            "version": "2021a",
            "resource": {
                "resourceType": "human",
                "id": "9451bf03-665c-4b4f-9836-066b4185334c",
                "attributes": [
                    {
                        "attribute": "hair-color",
                        "value": "black"
                    },
                    {
                        "attribute": "weight",
                        "value": "170"
                    }                 
                ]
            }
        }
    ]

mypath = "input_obj" + "[0]['resource']['attributes'][0]['value']"
del mypath

del input_obj[0]['resource']['attributes'][0]['value']

第一个del删除变量mypath ,而不是引用的对象。 第二个del有效,因为它指的是对象的实际部分。

如何取消引用字符串或以与硬引用相同的方式指向对象?

您是否只是想从层次结构中删除值或删除键值对? 如果没有 del 语句后的输出,很难判断

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM