如何在PostgreSQL中设置和打印json对象的值?

问题描述

到目前为止,我所做的是:

DO
$do$
DECLARE
    namz Text;
    jsonObject json = 
            '{
                "Name": "Kshitiz Kala","Education": "B.Tech","Skills": ["J2EE","JDBC","Html"]
            }';
BEGIN 
    SELECT jsonObject->'Name' into namz;
    select namz;
END
$do$

我在这里找不到任何成功。

实际问题是我正在将json对象传递到存储过程,该存储过程会将数据存储在三个不同的表中1)用户表包含user_id,user_name,user_edu。 2)技能表包含skill_id,skill_name。 3)user_skill表包含id,user_id,usr_skill_id。

这是我从Django应用程序传递的json对象

{"Name": "Kshitiz Kala","Html"]}

解决方法

您的json代码很好,只需检查:

SELECT '{"Name": "Kshitiz Kala","Education": "B.Tech","Skills": ["J2EE","JDBC","Html"]
            }'::json->'Name'

或在pgplsql中:

DO
$do$
DECLARE
    namz Text;
    jsonObject json = 
            '{
                "Name": "Kshitiz Kala","Html"]
            }';
BEGIN 
    SELECT jsonObject->'Name' into namz;
    raise 'JSON value Name is %',namz;
END
$do$

问题在别处。例如。此块的最后一行将不执行任何操作(plpgpsql中的SELECT namz)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...