sql中json解析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中json解析相关的知识,希望对你有一定的参考价值。

如何解析a串b元素的第一个checindate

参考技术A

你好!

with t as (select 'a:[f:,h:,checindate:''month1:,year: ,day: '',checkoutdate:''month:,year: ,day: '',,
checindate:''month2:,year: ,day: ,'',checkoutdate:''month:,year: ,day,
checindate:''month3:,year: ,day: ,'',checkoutdate:''month:,year: ,day]' str from dual)
,t1 as (SELECT  substr(str,instr(str,'[')+1,instr(str,']')-instr(str,'[')-1) str FROM T)
,t2 as (select substr(str,instr(str,'')+1,instr(str,'')-instr(str,'')-1) str from t1)
select str,substr(str,instr(str,'checindate')+12, instr(str,'checkoutdate')-instr(str,'checindate')-12) from t2;

得到第一个checindate,直接截取字符串就可以了

别搞得那么复杂了

在 PL/SQL 中解析 XML 或 JSON

【中文标题】在 PL/SQL 中解析 XML 或 JSON【英文标题】:Parse XML or JSON in PL/SQL 【发布时间】:2013-09-20 20:01:11 【问题描述】:

我想解析返回的谷歌地图地理编码的输出(特别是经度和纬度)。这可以以 XML 或 JSON 的形式返回(我真的没有偏好,我只需要信息)。我正在使用 utl_httprequest 从谷歌获取 JSON 或 XML,然后将其存储在变量中,但我不知道如何提取信息。我读了http://docs.oracle.com/cd/B10501_01/appdev.920/a96621/adx20ppl.htm,但并没有真正帮助。

谷歌地理编码格式为https://developers.google.com/maps/documentation/geocoding/#GeocodingRequests

【问题讨论】:

【参考方案1】:

如果您想解析 json,您可能需要查看我的框架:https://github.com/doberkofler/PLSQL-JSON

【讨论】:

【参考方案2】:

我发现这个网站很好地解释了如何解析。 http://www.mercatorgeosystems.com/blog-articles/2008/06/02/extracting-xml-information-using-pl/sql/

它利用了'extract'方法和stringtovalue方法

【讨论】:

【参考方案3】:

当我解析 xml 文件时,我认为 Oracle XML 解析速度很慢,所以我使用 INSTR 和 SUBSTR 进行解析。它不是那么灵活,但它是最快的方式,除了可能在 java 包或 C 过程中解析

【讨论】:

以上是关于sql中json解析的主要内容,如果未能解决你的问题,请参考以下文章

sql解析嵌套json+数组

sql解析嵌套json+数组

sql解析嵌套json+数组

关于SQL Server 2017中使用json传参时解析遇到的多层解析问题

在 PL SQL 中解析 JSON 数组 APEX_JSON

SQL OPENJSON - 解析 JSON 数组