[英]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.