在 Oracle 中格式化 JSON(列出键,后跟值集)?

问题描述 投票:0回答:1

我想看看是否可以在 Oracle 中将 JSON 格式化为标题列表,然后列出所有值集。

创建以下内容(在 Oracle 19c 上):

CREATE TABLE tbl1 (val1 varchar2(10), val2 varchar2(10), val3 varchar2(10));
INSERT INTO tbl1 VALUES ('1','2','3');
INSERT INTO tbl1 VALUES ('a','b','c');
INSERT INTO tbl1 VALUES ('1','b','3');

运行此查询会给出:

SELECT JSON_ARRAYAGG(JSON_OBJECT (*) returning varchar2) AS JSON_VAR
FROM tbl1;
JSON_VAR
[{"VAL1":"1","VAL2":"2","VAL3":"3"},{"VAL1":"a","VAL2":"b","VAL3":" c"},{"VAL1":"1","VAL2":"b","VAL3":"3"}]

是否可以格式化输出,先列出键,然后列出所有值集?例如:

{"keys" : ["VAL1", "VAL2", "VAL3"], "values" : [["1", "2", "3"],["a", "b", "c"],["1","b","c"]]}

小提琴

json oracle formatting key-value json-arrayagg
1个回答
0
投票
select json_object(
'keys' : ['VAL1', 'VAL2', 'VAL3'],
'values' : json_arrayagg(json_array(val1, val2, val3))) as js
from tbl1
© www.soinside.com 2019 - 2024. All rights reserved.