json字符串解析之get_json_object与json_tuple


一、get_json_object

函数的作用:用来解析json字符串的一个字段:

  1. select get_json_object(flist,'$.filtertype') as filtertype
  2. ,get_json_object(flist, '$.filtersubtype')as filtersubtype
  3. ,get_json_object(flist, '$.filtername') as filtername
  4. from aaaaaaa

运行结果如下(只解析了一条数据):

 

对于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

二、json_tuple

函数的作用:用来解析json字符串中的多个字段

  1. select a.flist
  2. ,b.filtertype
  3. ,b.filtersubtype
  4. ,b.filtername
  5.   from aaaaaaaaa a
  6. lateral view json_tuple(flist,'filtertype', 'filtersubtype', 'filtername') b as
filtertype, filtersubtype,filtername; 

运行结果如下:




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM