[英]How to identify a clob contains a single json object or an array of json object
我有一个 clob 数据类型,有时会返回一个 json 对象:
{
"data1" : "xxxxxx",
"data2" : "xxxxxx"
}
有时会返回一个 json 对象数组:
[{
"data1" : "xxxxxx",
"data2" : "xxxxxx"
},
.....
{
"data1" : "xxxxxx",
"data2" : "xxxxxx"
}]
我如何识别它们并适当地使用 json_array_t 或 json_object_t? 是否有一个简单的 if 条件可以适用?
如果您的示例数据准确,那么我将只使用 dbms_lob.substr 来获取第一个字符,如果它是一个方括号,那么您有多个,否则您只有一个....
有关 dbms_lob 包的更多信息(恰好是 10g doco,但不要认为它已更改但如果需要请确认您的 Oracle 版本) https://docs.oracle.com/cd/B19306_01/appdev.102/b14258 /d_lob.htm#i999349
所以你最终会得到类似下面的逻辑
select dbms_lob.substr(*your lob here*, 1, 1)
into v_whaterver
from dual;
If v_whatever = '[' THEN
--you have multiple
ELSE
-- you have single
END IF;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.