hive提供了json的解析函数:get_json_object

 

使用方法

对于jsonArray(json数组),如person表的xjson字段有数据:

[{"name":"王二狗","sex":"男","age":"25"},{"name":"李狗嗨","sex":"男","age":"47"}]

取出第一个json对象,那么hive sql为:

SELECT get_json_object(xjson,"$.[0]") FROM person;

 结果是:

{"name":"王二狗","sex":"男","age":"25"}

取出第一个json的age字段的值:

SELECT get_json_object(xjson,"$.[0].age") FROM person;

结果

25

 

总结

get_json_object(param1,"$.param2")

 

param1:需要解析的json字段

param2:遇到数组就用 [0,1,2...] 0,1,2是数组对应的元素,遇到jsonObject直接用 ".key"取出想要获取的value。

内容来源于网络如有侵权请私信删除