从简易的json中提取数据
前言
某字段将业务数据以json格式进行了存储,且格式为简单的{k:v,k:v,…},现在需要用存储过程从该字段中取部分值,于是有了下面的代码。
参数1代表json字符,参数2代表需要提取值的key,结果返回value
FUNCTION TRANS_JSON(JSON IN VARCHAR2, P_KEY IN VARCHAR2) RETURN VARCHAR2 ISJSON_STR VARCHAR2(1024);TYPE TYPE_SPLIT IS TABLE OF VARCHAR2(128) INDEX BY BINARY_INTEGER;KEY_VALUE TYPE_SPLIT;ITEM NUMBER;GROUP_NUM NUMBER;GROUP_STR VARCHAR2(50);KEY VARCHAR2(50);BEGINIF JSON IS NULL THENRETURN NULL;END IF;JSON_STR := TRANSLATE(JSON, '1"{} ', '1'); --JSON字符串处理GROUP_NUM := LENGTH(JSON_STR) - LENGTH(REPLACE(JSON_STR, ',', '')) + 1; --数组长度--生成数组FOR I IN 1 .. GROUP_NUM LOOPITEM := INSTR(JSON_STR || ',', ',', 1, 1);KEY_VALUE(I) := REPLACE(SUBSTR(JSON_STR, 0, ITEM), ',', '');JSON_STR := SUBSTR(JSON_STR, ITEM + 1, LENGTH(JSON_STR));END LOOP;--匹配数组FOR I IN 1 .. GROUP_NUM LOOPGROUP_STR := KEY_VALUE(I);ITEM := INSTR(GROUP_STR, ':', 1, 1);KEY := REPLACE(SUBSTR(GROUP_STR, 0, ITEM - 1), CHR(10), '');IF TRIM(KEY) = TRIM(P_KEY) THENRETURN TRIM(SUBSTR(GROUP_STR, ITEM + 1, LENGTH(GROUP_STR)));END IF;END LOOP;RETURN NULL;EXCEPTIONWHEN OTHERS THENRETURN NULL;END;
从简易的json中提取数据相关推荐
- Ajax(从json中提取数据)
2019独角兽企业重金招聘Python工程师标准>>> json数据为: out.println("{name:'平凡的世界',author:'路遥'}");aj ...
- php中json字符串值,如何使用PHP从JSON中提取数据?
狐的传说 您可以使用json_decode()将json字符串转换为PHP对象/数组.例如.输入:$json = '{"a":1,"b":2,"c&q ...
- JMETER从JSON响应中提取数据
如果你在这里,可能是因为你需要使用JMeter从Json响应中提取变量. 好消息!您正在掌握掌握JMeter Json Extractor的权威指南.作为Rest API测试指南的补充,您将学习掌握J ...
- python json接口数据提取_返回数据中提取数据的方法(JSON数据取其中某一个值的方法)...
返回数据中提取数据的方法 比如下面的案例是,取店铺名称 接口返回数据如下: {"Code":0,"Msg":"ok","Data& ...
- 如何从PostgreSQL json中提取数组
如何从PostgreSQL json中提取数组 作者 digoal 日期 2016-09-10 标签 PostgreSQL , json , 数组 , jsonb 背景 在PostgreSQL中使用J ...
- python提取excel数据-代码详解:使用Python从不同表格中提取数据
常用的表格数据存储文件格式--CSV,Microsoft Excel,Google Excel . Python通常称为粘合语言.这个名称归因于人们逐渐开发出的大量接口库和特征,也得益于广泛的使用和良 ...
- 在jmeter中怎么提取数据_如何使用JMeter从文件中提取数据
在性能测试方面,重用响应数据至关重要.几乎(如果不是全部!)负载测试场景假设您: 从先前的响应中提取有趣的方面,并在下一个请求中重用它们(也称为相关) 确保实际响应符合预期(又称断言) 因此,如果您是 ...
- python处理表格数据教程_代码详解:使用Python从不同表格中提取数据
常用的表格数据存储文件格式--CSV,Microsoft Excel,Google Excel . Python通常称为粘合语言.这个名称归因于人们逐渐开发出的大量接口库和特征,也得益于广泛的使用和良 ...
- 取出json中的数据php,怎么从Json中取出数据放到一个新组中
如何从Json中取出数据放到一个新组中 JSON数据如下: { "CommunityModel": [ { " UUID ": "xxxxxx-xxx ...
最新文章
- centos7 virtualbox使用internal network 内网模式
- (转)ubuntu 文件系统
- java 抛出异常 返回值_java通过抛异常来返回提示信息
- iphone开发中数据持久化之——属性列表序列化(一)
- 北方工业大学gpa计算_北方大学联盟仓库的探索性分析
- python中if continue else,python基础;if else;for;while 分支处理.continue,break
- 主编编辑器操作流程指南
- 打印机扫描显示计算机故障或繁忙,打印机无法扫描_如何用打印机进行扫描,如何用打印机扫描文件...
- 全球及中国石油市场十四五发展走势及竞争格局动态分析报告2021年版
- 企业邮箱哪个最好用?企业邮箱哪个安全?
- linux rpm -qip命令,linux rpm命令
- 启用计算机的无线同屏,win10系统无线同屏功能如何使用
- 微课--Python使用UDP协议实现局域网内屏幕广播(40分钟)
- 路由器常见的第三方系统( OpenWRT,LEDE,PandoraBox,Gargoyle | ASUSWrt,Merlin,Padavan | DD-WRT | Tomato )
- [树状数组+离散化] NamomoCamp Daily 6
- SOEM 源码解析 ecx_set_slaves_to_default
- JS中的数组转变成JSON格式字符串的方法
- 2023最新springboot计算机毕业设计选题大全(附源码+论文答辩),别再发愁毕设了。
- 网络舆情信息工作怎么做的解决方案
- mathtype部分功能不可用