hive 函数 get_json_object 对 array

2021-07-01  本文已影响0人  青玉_f18c

定义:
get_json_object(string jsonStr, string path)
参数解析:

注意
需要注意的是,1.2版本以下(不含) 第一个参数,即jsonStr不支持【最外层】是array [ ],仅可以是object { }

---------------- 下面是低版本,高版本都支持的写法 -------------
get_json_object(json, '$.store') 
get_json_object(json, '$.store.fruit[0]') 
get_json_object(json, '$.store.fruit[0].weight') 

---------------- 下面是只有1.2版本以上,才支持的写法 -------------
get_json_object('[1,2,3]', '$[0]'),
get_json_object('[1,2,3]', '$.[0]'),
get_json_object('[1,2,3]', '$.[1]'),
get_json_object('[1,2,3]', '$[1]'),
get_json_object('[1,2,3]', '$[2]'),
get_json_object('[1,2,3]', '$[*]'),
get_json_object('[1,2,3]', '$'),
get_json_object('[{"k1":"v1"},{"k2":"v2"},{"k3":"v3"}]', '$[2]'),
get_json_object('[{"k1":"v1"},{"k2":"v2"},{"k3":"v3"}]', '$[2].k3'),
get_json_object('[[1,2,3],[4,5,6],[7,8,9]]', '$[1]'),
get_json_object('[[1,2,3],[4,5,6],[7,8,9]]', '$[1][0]'),
get_json_object('[{"k1":[{"k11":[1,2,3]}]}]', '$[0].k1[0].k11[1]');

原因
请github上参看源码UDFJson.java

上一篇 下一篇

猜你喜欢

热点阅读