问题描述
我目前正在尝试在Oracle 18c数据库中生成一些REST服务,我的要求之一是将输入有效负载与响应一起发送。但是,在附加输入时,每个 “作为转义字符” 也会添加一些额外的 “/”。
示例代码:
示例代码:
DECLARE
p CLOB := '{"name": "John","age" : 29}'; --Input
j json_object_t := json_object_t.parse('{"Response":"Success"}'); --output
BEGIN
j.put('INPUT', p); --attaching input to response
dbms_output.put_line(j.stringify); -- this has additional / in the o/p.
END;
专家解答
这是因为您要添加一个具有字符串值 “{” 名称 “:” John “,” 年龄 “: 29}” 的属性。不是JSON对象!
如果要添加对象,则需要先将字符串转换为json_object_t。然后将其添加到其他文档中:
如果要添加对象,则需要先将字符串转换为json_object_t。然后将其添加到其他文档中:
DECLARE
p clob := '{"name": "John","age" : 29}'; --Input
j json_object_t := json_object_t.parse('{"Response":"Success"}'); --output
j2 json_object_t := json_object_t.parse(p);
BEGIN
j.put('INPUT1', j2);
j.put('INPUT2', p);
dbms_output.put_line(j.stringify); -- this has additional / in the o/p.
END;
/
{
"Response":"Success",
"INPUT1":{"name":"John","age":29},
"INPUT2":"{\"name\": \"John\",\"age\" : 29}"
} 文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




