oracle怎么解析json字符串

58次阅读
没有评论

共计 1891 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容介绍了“oracle 怎么解析 json 字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

DECLARE
 l_json_str VARCHAR2(4000);
 l_json json;
 l_year VARCHAR2(10);
 l_month VARCHAR2(10);
 TYPE arrays_data_rec IS RECORD(
 id NUMBER
 ,code VARCHAR2(30)
 ,NAME VARCHAR2(100));
 TYPE arrays_data_tab IS TABLE OF arrays_data_rec INDEX BY BINARY_INTEGER;
 l_arrays_tab arrays_data_tab;
 l_bodylist json_list; --json 列表
 l_arrays_json json; -- 用于解析每一个数组信息  
BEGIN
 l_arrays_tab.delete;
 l_json_str :=  { 
  year :  2019 , 
  month : 05 ,
  strArray : [{
  id : 1,
  code :  CODE1 ,
  name :  NAME1  
 },{
  id : 2,
  code :  CODE2 ,
  name :  NAME2  
 },{
  id : 3,
  code :  CODE3 ,
  name :  NAME3  
 }] } 
 BEGIN
 -- 将字符串转化为 json 格式
 l_json := json(l_json_str);
 -- 获取 json 的值
 l_year := json_ext.get_string(l_json
 , year 
 l_month := json_ext.get_string(l_json
 , month 
 dbms_output.put_line(year:  || l_year ||  --month:  || l_month);
 --json 数组初始化
 l_arrays_json := json();
 -- 将 strArray 数组存至 l_bodylist 对象中
 l_bodylist := json_ext.get_json_list(l_json
 , strArray 
 IF l_bodylist IS NOT NULL THEN
 -- 循环数组,将值写入内存表中
 FOR idx IN 1 .. l_bodylist.count LOOP
 l_arrays_json := json(l_bodylist.get(idx));
 -- 注意:根据传入的值的数据类型进行对应的转换,不然会取不到值
 l_arrays_tab(idx).id := json_ext.get_number(l_arrays_json
 , id 
 l_arrays_tab(idx).code := json_ext.get_string(l_arrays_json
 , code 
 l_arrays_tab(idx).name := json_ext.get_string(l_arrays_json
 , name 
 dbms_output.put_line(l_arrays_tab(idx).id ||  --  || l_arrays_tab(idx).code ||  --  || l_arrays_tab(idx).name);
 END LOOP;
 END IF;
 EXCEPTION
 WHEN OTHERS THEN
 dbms_output.put_line( JSON 格式转换异常! 
 END;
EXCEPTION
 WHEN fnd_api.g_exc_error THEN
 dbms_output.put_line(error:  || SQLCODE ||  --  || SQLERRM);
 WHEN fnd_api.g_exc_unexpected_error THEN
 dbms_output.put_line(Unexpected_error.  || SQLCODE ||  --  || SQLERRM);
 WHEN OTHERS THEN
 dbms_output.put_line(Other error:  || SQLCODE ||  --  || SQLERRM);
END;

“oracle 怎么解析 json 字符串”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计1891字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)