本篇內(nèi)容介紹了“oracle怎么解析json字符串”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
專注于為中小企業(yè)提供網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)永和免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。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; --用于解析每一個數(shù)組信息 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 --將字符串轉(zhuǎn)化為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數(shù)組初始化 l_arrays_json := json(); --將strArray數(shù)組存至l_bodylist對象中 l_bodylist := json_ext.get_json_list(l_json ,'strArray'); IF l_bodylist IS NOT NULL THEN --循環(huán)數(shù)組,將值寫入內(nèi)存表中 FOR idx IN 1 .. l_bodylist.count LOOP l_arrays_json := json(l_bodylist.get(idx)); --注意:根據(jù)傳入的值的數(shù)據(jù)類型進(jìn)行對應(yīng)的轉(zhuǎn)換,不然會取不到值 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格式轉(zhuǎn)換異常!'); 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字符串”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!