Java教程

复杂格式数据处理

本文主要是介绍复杂格式数据处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
 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 ;

 

这篇关于复杂格式数据处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!