其他分享
首页 > 其他分享> > 复杂格式数据处理

复杂格式数据处理

作者:互联网

 1 SELECT
 2     code,
 3     name,
 4     ai.ACode,
 5     ai.AName,
 6     bi.BCode,
 7     bi.BName
 8 FROM (SELECT
 9             get_json_object(t.value, '$.base.code') AS code,
10             get_json_object(t.value, '$.base.name') AS name,
11             get_json_object(t.value, '$.list') AS list
12         FROM
13             (
14                 SELECT
15                     '{"base":{"code":"xm","name":"project"},"list":[{"ACode":"cp1","AName":"Product1","BList":[{"BCode":"gn1","BName":"Feature1"},{"BCode":"gn2","BName":"Feature2"}]},{"ACode":"cp2","AName":"Product2","BList":[{"BCode":"gn1","BName":"Feature1"}]}]}' AS value
16             ) t 
17     ) t1 
18     lateral VIEW explode(split(regexp_replace(regexp_extract(list, '^\\[(.+)\\]$', 1), '\\}\\]\\}\\,\\{', '\\}\\]\\}\\|\\|\\{'), '\\|\\|')) list AS a lateral VIEW json_tuple(a, 'ACode', 'AName', 'BList') ai AS ACode,
19     AName,
20     BList lateral VIEW explode(split(regexp_replace(regexp_extract(BList, '^\\[(.+)\\]$', 1), '\\}\\,\\{', '\\}\\|\\|\\{'), '\\|\\|')) BList AS b lateral VIEW json_tuple(b, 'BCode', 'BName') bi AS BCode,
21     BName ;

 

标签:复杂,BCode,json,BName,BList,数据处理,格式,ACode,AName
来源: https://www.cnblogs.com/pengpenghuhu/p/16656067.html