Hive解析Json字符串(含json数组)

由于字段内容为Json字符串,随需要用到get_json_object(string json_string, string path),最初只是知道该方法可以解析简单的json字符串,比如:

select get_json_object('{"key1":"value1","key2":"value2","key3":"value3"}','$.key1')

结果:value1

但由于目标字段中的json字符串含有json数组,随在网上查了解析方法,但大部分方法都是通过正则将数组转成简单的kv格式的json字符串,再利用get_json_object获取目标值,我觉得不应该是这样的,随查了官方文档,发现get_json_object其实是可以直接获取json数组内的数据的,具体如下:

select get_json_object('{"store":{"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],"bicycle":{"price":19.95,"color":"red"}},"owner":"amy"}','$.store.fruit[0].type')

结果为:apple

附上Hive官网常用函数说明:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

你可能感兴趣的:(Hive,大数据,hive,json,数组,解析,字符串)