【问题标题】:Parse JSONarray in PostgreSQL Query using json_extract_path_text and json_array_elements使用 json_extract_path_text 和 json_array_elements 在 PostgreSQL 查询中解析 JSONarray
【发布时间】:2022-10-05 01:34:22
【问题描述】:

我有一个类似下面的 PostgreSQL 查询,它可以正常工作并按预期返回 foo 。

SELECT json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"foo"}}','f4', 'f6') as foo

这不起作用。它只是返回空值。

SELECT json_extract_path_text('{"f2":{"f3":1},"f4":[{"f5":99,"f6":"foo"},{"f5":99,"f6":"foo"}]}','f4', 'f6') as foo

我已经尝试了在PostgreSQL Function 网站上可以找到的所有功能组合。因此我的问题是,我如何到达 json 数组中的 foo ?

【问题讨论】:

    标签: sql postgresql


    【解决方案1】:

    所以我确实让它工作了,但似乎必须有更好的方法:

    SELECT 
    json_extract_path_text(
        json_array_elements(
            cast(json_extract_path_text('{"f2":{"f3":1},"f4":[{"f5":99,"f6":"foo"},{"f5":99,"f6":"foo"}]}'::json,'f4') as json
                )
        ),'f6'
    ) as foo
    

    【讨论】:

      【解决方案2】:

      找到了另一种方法来完成可能有用的类似事情

      someJsonColumn::json #>> '{someObj,0,SomeObj,0}' as myJsonField
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-15
        • 1970-01-01
        • 1970-01-01
        • 2019-03-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多