[英]How to pretty format JSON in Oracle?
我想知道是否有任何方法可以在 Oracle 中格式化 JSON(就像这个网站示例一样)
在 XML 中,我使用了:
SELECT XMLSERIALIZE(Document XMLTYPE(V_RESPONSE) AS CLOB INDENT SIZE = 2)
INTO V_RESPONSE
FROM DUAL;
而且效果很好。
在 Oracle 12c 中,您可以将JSON_QUERY()
函数与JSON_QUERY()
RETURNING ... PRETTY
子句一起使用:
PRETTY
:指定PRETTY
以通过插入换行符和缩进来漂亮地打印返回字符串
表达 :
JSON_QUERY(js_value, '$' RETURNING VARCHAR2(4000) PRETTY)
with t as (select '{"a":1, "b": [{"b1":2}, {"b2": "z"}]}' js from dual)
select json_query(js, '$' returning varchar2(4000) pretty) pretty_js, js from t;
产量:
PRETTY_JS | JS
--------------------------|----------------------------------------
{ | {"a":1, "b": [{"b1":2}, {"b2": "z"}]}
"a" : 1, |
"b" : |
[ |
{ |
"b1" : 2 |
}, |
{ |
"b2" : "z" |
} |
] |
} |
当您有幸使用 Oracle Database 19c 时,还有另一个用于漂亮打印的选项: JSON_serialize 。
这允许您在 VARCHAR2/CLOB/BLOB 之间转换 JSON。 并包含一个 PRETTY 子句:
with t as (
select '{"a":1, "b": [{"b1":2}, {"b2": "z"}]}' js
from dual
)
select json_serialize (
js returning varchar2 pretty
) pretty_js,
js
from t;
PRETTY_JS JS
{ {"a":1, "b": [{"b1":2}, {"b2": "z"}]}
"a" : 1,
"b" :
[
{
"b1" : 2
},
{
"b2" : "z"
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.