问题描述
到目前为止,我所做的是:
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)