复杂格式数据处理
作者:互联网
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