通过PL/SQL实现了简单的JSON解析,通过MAP索引值来获取对应的元素,返回一个字符串
p_JSON是字符串类型的JSON,例如:
{
"a":1,
"b":"text",
"c":[2,3,4],
"d":[{"name":"sam"},{"name":"tony"},{"name":"vincent"}]
}
p_MAP是字符串类型的索引值,函数返回结果示例如下:
索引值 结果
getJSON(p_JSON,'.a') 1
getJSON(p_JSON,'.b') text
getJSON(p_JSON,'.c') [2,3,4]
getJSON(p_JSON,'.c[0]') 2
getJSON(p_JSON,'.c[1]') 3
getJSON(p_JSON,'.d[1]') {"name":"tony"}
getJSON(p_JSON,'.d[1].name') tony
扩展说明:
1、在JSON中,如果需要在字符串(双引号""中间的内容)中加入方括号[]、
尖括号{}、双引号"、冒号:、逗号,,必须在每个之前加反斜杠\进行转义,
避免解析错误。
2、查询数组如果下标越界,会提示找不到元素。
3、对象元素的key值不正确,也会提示找不到元素。
详见代码:
1、新建TPNODE类型
2、新建TPMAP类型
3、编写parseJSON函数
领取专属 10元无门槛券
私享最新 技术干货