- get_json_object:从json中提取出字段
SELECT get_json_object('{"a":"b","c":"d"}', '$.a');# 提取到了b
'''xx表里biz_data字段存的是json格式,里面有字段'aa','bb','cc' '''
spark.sql("select get_json_object(biz_data,'$.bb') from xx").show()# 得到bb字段的值
- 将固定几列映射成json,并取名字
将user_name和mobilePhone两列映射成json,属性值是userName和mobilePhone的值,属性名分别为name和mobile
spark.sql("select to_json( named_struct( 'name',userName, 'mobile',mobilePhone ) ) from temp") # 属性固定,列值映射成json
- 将两个列映射成json,其中一列为属性名,一列为属性值
spark.sql("select to_json( map(col1,col2) )")#两个列映射成json,col1的值为属性名,col2的值为属性值
- 其他
to_json操作之后,结果是字符串,即使不用to_json函数,也可以使用拼接方法合成json格式的字符串