如何从 jsonb 中删除所有值为 null 的元素?

互联网 行业动态 更新时间:2024-06-13 00:19:32

Ram*_*cov 5

json_strip_nulls这个函数从给定的jsonb_strip_nullsJSON 值中删除所有具有空值的对象字段。不是对象字段的空值保持不变。这些函数最好的一面是它们是递归的,因此该函数也将删除子 JSON 对象中的空值。

注意力!!!- 您的 JSON 字符串代码无效,我,在您的 JSON 中删除了一个字符并对此进行了评论。

select jsonb_strip_nulls(
'{
    "addInfo": {
        "payment": {
            "payment:dkv": null,
            "payment:uta": null   /* in here I removed character: "," */
        },
        "fueltype": {
            "fuel:diesel": "yes",
            "fuel:octane_91": null,
            "fuel:octane_95": "yes",
            "fuel:octane_98": null
        },
        "operating": {
            "name": "Raiffeisen",
            "brand": "Raiffeisen",
            "operator": null,
            "opening_hours": "24/7"
        }
    }
}')

工作正常!!!结果:

select jsonb_strip_nulls(
'{
    "addInfo": {
        "payment": {
            "payment:dkv": null,
            "payment:uta": null   /* in here I removed character: "," */
        },
        "fueltype": {
            "fuel:diesel": "yes",
            "fuel:octane_91": null,
            "fuel:octane_95": "yes",
            "fuel:octane_98": null
        },
        "operating": {
            "name": "Raiffeisen",
            "brand": "Raiffeisen",
            "operator": null,
            "opening_hours": "24/7"
        }
    }
}')

jsonb_strip_nulls - 此函数仅删除空值,但我编写了一个示例递归函数来删除空对象和空对象。您可以从我的 GitHub 个人资料中看到此示例:github./raminfaracov/PostgreSQL-json-examples/blob/main/remove_null_empty_objects_from_json.sql (2认同)

更多推荐

值为,元素,jsonb,null

本文发布于:2023-04-21 09:52:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/dea7e61c6f63f51305120e5d16d4cd4c.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:值为   元素   jsonb   null

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!