0
我们正在尝试为我们的程序使用PL/JSON包,但它看起来像json.to_clob方法有一个错误。如果您尝试以下代码:如果json值是单个字符,Oracle pl/json to_clob()会失败
-- json to clob bug in pl/json package
-- if json value is single character then that json value will not be shown in clob
declare
l_Data_json_clob clob;
l_Data_json json;
begin
l_Data_json := json();
dbms_lob.createtemporary(l_Data_json_clob, true); -- create CLOB where result will be stored
l_Data_json.put('RESULT', '1');--put one character in json value
l_Data_json.to_clob(l_Data_json_clob);--put json result to clob
dbms_output.put_line(dbms_lob.substr(l_Data_json_clob, 255, 1));--not correct json - json value is empty
l_Data_json.put('RESULT', '22');--put two characters in json value
l_Data_json.to_clob(l_Data_json_clob);--put json result to clob
dbms_output.put_line(dbms_lob.substr(l_Data_json_clob, 255, 1));--correct json - more then one character
l_Data_json.put('RESULT', 1);--put one number in json value
l_Data_json.to_clob(l_Data_json_clob);--put json result to clob
dbms_output.put_line(dbms_lob.substr(l_Data_json_clob, 255, 1));--again correct json but with number instead of string
end;
您会看到由于某种原因,第一个json值为空。我们注意到,只有当json值是单个字符时才会发生。有没有解决这个问题的方法?
谢谢