毕业论文

当前位置: 毕业论文 > 范文 >

plsql的oracle解析json字符串函数(2)

时间:2021-11-05 19:52来源:优尔论文
String nodeValue=; try { if(jsonStr==null||!jsonStr。startsWith([)||!jsonStr。endsWith(])){ nodeValue=; }else{ JSONArray jsonArr = new JSONArray(jsonStr); nodeValue=jsonArr。getString(index); } } c

    String nodeValue="";

    try {

      if(jsonStr==null||!jsonStr。startsWith("[")||!jsonStr。endsWith("]")){

        nodeValue="";

      }else{

        JSONArray jsonArr = new JSONArray(jsonStr);

        nodeValue=jsonArr。getString(index);

      }

    } catch (JSONException e) {

      nodeValue="";

    }

    return nodeValue;

  }

}

创建成功后再次查询可以看到对应的class文件:

plsql的oracle解析json字符串函数

五、pl/sql里面执行以下语句

create or replace package jsonpkg

as

function getval(jsonstr varchar2,nodename varchar2) return varchar2;

function getarrval(jsonArrayStr varchar2,seqNo number) return varchar2;

function getarrlen(jsonArrayStr varchar2) return number;

end jsonpkg;

/

create or replace package body jsonpkg

as

function  getval(jsonstr varchar2,nodename varchar2) return varchar2

as language java name 'JsonUtil。getValue(java。lang。String,java。lang。String) return java。lang。String';

function getarrval(jsonArrayStr varchar2,seqNo number) return varchar2

as language java name 'JsonUtil。getArrayValue(java。lang。String, java。lang。Integer) return java。lang。String';

function getarrlen(jsonArrayStr varchar2) return number

as language java name 'JsonUtil。getArrayLength(java。lang。String) return java。lang。Integer';

end jsonpkg;

/

六,简单的测试

select jsonpkg。getval('{"name":"张三","age":123}','age') from dual

plsql的oracle解析json字符串函数

找一个新医保的读卡信息

select  jsonpkg。getval(jsonpkg。getarrval(jsonpkg。getval('{

  "idetinfo": [],

  "baseinfo": {

    "certno": "36****7",

    "psn_no": "36***26",

    "gend": "2",

    "brdy": "19**-**-18",

    "naty": "01",

    "psn_cert_type": "01",

    "psn_name": "XX佳",

    "age": 31。8

  },

  "insuinfo": [

    {

      "insuplc_admdvs": "***99",

      "psn_insu_date": "20**-09-01",

      "cvlserv_flag": "0",

      "balc": 569。08,

      "emp_name": "人民医院",

      "psn_type": "11",

      "psn_insu_stas": "1",

      "insutype": "310",

      "paus_insu_date": null plsql的oracle解析json字符串函数(2):http://www.youerw.com/fanwen/lunwen_84143.html

------分隔线----------------------------
推荐内容