最近换全国医保,交易串全是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){

上一篇:靶场土壤中的重金属修复的研究现状
下一篇:速卖通服务质量调查问卷

90后自助游的旅游行为研究问卷表

中学数学教学中的模型思想调查问卷表

FENDI品牌消费的问卷调查表

AHP法调查问卷表

LEC法调查问卷表

观众参加虚拟展会的决策影响因素调查问卷

维吾尔族学前儿童汉语学...

湖南长沙市生育津贴政策...

摩羯座运势2022,摩羯座...

浅议体态律动在小学音乐课堂教学中的运用

PF--1415反击式破碎机箱体设计开题报告

基于中频信号的家用治疗...

旅游英语推进邢台市旅游...

试析多元智能理论茬体育...

浅谈岗位廉洁教育的方法与途径【3858字】

信息技术茬旅游专业教學...

羟肟类萃取剂对嗜酸氧化...