毕业论文

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

plsql的oracle解析json字符串函数

时间:2021-11-05 19:52来源:优尔论文
plsql的oracle解析json字符串函数,为了解决国家基线医保报表,使用json.jar,在plsql新建package顺利用sql语句解析得到json里面的属性值,方便做报表,

最近换全国医保,交易串全是json了,以前做报表很好写的sql取值 ,现在突然不知道怎么从json里面取值。研究了一个小时顺利解决
怎么在plsql里面oracle解析json字符串函数呢?步骤如下:
一, 查看当前数据库已导入的java类文件 如果没有下面的查询结果请进入第二步  select * from user_java_classes, 

plsql的oracle解析json字符串函数


二 , 执行loadjava命令导入处理json所需jar文件,在此选择org。json而不选择fastjson或jackson的原因是该jar包没有外部依赖且满足功能的同时所需导入类文件较少。
把json。jar放在C盘目录下  (json。jar文件请找QQ752018766)
在CMD窗口输入(需要安装oracle客户端,否则会报错loadjava 不是内部或或外部命令)
loadjava -r   -f  -u  h/1@192。168。8。19:1521/h C:/json。jar
如何在plsql里面解析读卡信息里面的json属性值

若想删除,在CMD里面执行

--删除指定jar

#dropjava -r   -f  -u  h/1@192。168。8。19:1521/h json。jar

导入json。jar成功后再次查看当前已导入的类文件如下

select * from user_java_classes

plsql的oracle解析json字符串函数

四,pl/sql里面执行以下脚本,创建java源码对象

create or replace and compile java source named "JsonUtil" as

import org。json。JSONArray;

import org。json。JSONException;

import org。json。JSONObject;

import java。lang。Integer;

public class JsonUtil {

 //取json串单个节点值

  public static String getValue(String jsonStr,String nodeName){

    String nodeValue="";

    try {

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

        nodeValue="";

      }else{

        JSONObject obj =new JSONObject(jsonStr);

        nodeValue = obj。getString(nodeName);

      }

    } catch (JSONException e) {

      nodeValue="";

    }

    return nodeValue;

  }

  //取json数组长度便于循环处理

  public static Integer getArrayLength(String jsonArrayStr){

    Integer length=0;

    try {

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

        length=0;

      }else{

        JSONArray jsonArr = new JSONArray(jsonArrayStr);

        length=jsonArr。length();

      }

    } catch (JSONException e) {

      length=0;

    }

    return length;

  }

  //取json数组第index个元素

  public static String getArrayValue(String jsonStr,Integer index){ plsql的oracle解析json字符串函数:http://www.youerw.com/fanwen/lunwen_84143.html

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