如何在PostgreSQL中从JSON对象存储和打印数组值?

问题描述

在这里,我只需要提取技能并存储在'skill_s'变量中以进行进一步处理。 我该如何实现?

[testenv:docs]

我要打印输出 恩尼姆,阿里基普,奎

解决方法

这是将json数组转换为字符串数组的简单解决方案。我们可以使用json_array_elements_text和json_array_elements实现它。这里json_array_elements返回双引号示例“ Python”中的字符串,而json_array_elements_text返回纯字符串。下面是我的代码。 This 帮助了我。

DO
$do$
DECLARE
    skill_s  Text[];
    jsonObject json = // Json object 
                '{
                    "Name": "bala Kala","Education": "B.Tech","Skills":  ["enim","aliquip","qui"]
                }';
BEGIN
skill_s := array(SELECT json_array_elements_text(jsonObject->'Skills'));
    raise info 'JSON value Name is %',skill_s;
END
$do$