oracle11g数据库中的json工具
来源:互联网 发布:linq 不重复数据 编辑:程序博客网 时间:2024/06/02 19:16
导入依赖库到oracle(org.json:json:20170516)
loadjava -r -f -u user/password@ip:1521/orasid json-20170516.jar
添加java source工具类
create or replace and compile java source named "JsonUtil" aspackage org.jws;import org.json.JSONObject;public class JsonUtil { // 获取字符值 public static String getStringValue(String jsonObjStr, String key) { try { JSONObject obj = new JSONObject(jsonObjStr); if (obj.has(key)) { Object value = obj.get(key); return value.toString(); } } catch (Exception e) { } return null; } // 获取数字值 public static Double getNumberValue(String jsonObjStr, String key) throws RuntimeException { try { JSONObject obj = new JSONObject(jsonObjStr); if (obj.has(key)) { Object value = obj.get(key); if (value instanceof Number) { return ((Number) value).doubleValue(); } else { return Double.parseDouble(value.toString()); } } } catch (Exception e) { } return null; }}/
定义package
create or replace package pkg_json as --获取字符 function getstr ( jsonstr varchar2, nodename varchar2 ) return varchar2; --获取数值 function getnum ( jsonstr varchar2, nodename varchar2 ) return number;end pkg_json;/create or replace package body pkg_json as function getstr ( jsonstr varchar2, nodename varchar2 ) return varchar2 as language java name 'org.jws.JsonUtil.getStringValue(java.lang.String,java.lang.String) return java.lang.String'; function getnum ( jsonstr varchar2, nodename varchar2 ) return number as language java name 'org.jws.JsonUtil.getNumberValue(java.lang.String,java.lang.String) return java.lang.Double';end pkg_json;/
测试
select pkg_json.getstr('{"name":"zhangsan","age":18}', 'name') strval, pkg_json.getnum('{"name":"zhangsan","age":18}', 'age') numval from dual;
tips
select * from user_java_classes a;
阅读全文
0 0
- oracle11g数据库中的json工具
- Oracle11g数据库导入Oracle10g数据库 EXPDP工具
- Oracle11g数据库导入Oracle10g数据库 EXPDP工具
- Oracle11g数据库导入Oracle10g数据库 EXPDP工具
- Oracle11g创建数据库
- Oracle11g数据库搭建笔记
- 完全卸载oracle11g数据库
- Oracle11g 导出数据库
- Oracle11g数据库记录
- 完全卸载oracle11g数据库
- Oracle11g快捷复制数据库
- 完全卸载oracle11g数据库
- VS2010连接Oracle11g数据库
- Oracle11g创建数据库、用户
- oracle11g创建数据库实例
- oracle11g数据库导入导出
- oracle11g数据库升级
- 完全卸载oracle11g数据库
- SetBkMode函数理解
- .List,Set,Map是否继承自Collection接口?
- 高仿微信主界面
- 算法笔记:动态规划背包问题(未完待续)
- 移动平台 Unity3D 应用性能优化
- oracle11g数据库中的json工具
- 测试信息
- Python 错误和异常
- string类的引用计数的写时拷贝分析
- BZOJ2982: combination(Lucas定理)
- [Suzuki85]轮廓跟踪算法论文翻译
- 老蜗牛写采集:获取数据(正则篇)
- jdk1.7环境java代码访问https(connection reset)
- 如何判定对象已死可以回收内存