json解析

json解析

1、json的Araay中有多条子:数量不确定、顺序不一致

表test_table的结构如下:

字段类型 date        varchar   json
字段    data_date   plan_id   data

json列data如下:

{ "creative_list": [{"creative_modify_time": "2021-10-21 18:15:12", "creative_create_time": "2021-10-21 18:14:27", "creative_id": 1714223816754206, "image_mode": "VIDEO_VERTICAL"}, {"creative_modify_time": "2021-10-21 18:14:27", "creative_create_time": "2021-10-21 18:14:27", "creative_id": 1714223816754222, "image_mode": "VIDEO_VERTICAL"}], "first_industry_id": 1902, "marketing_goal": "V"}

creative_list中,json元素的数量不确定,此时需要按照每个plan_id将其对应的creative_list中的所有creative_id解析出来。

-- 先将creative_list的所有元素放在列表中,然后通过cross join与plan_id一一对应
select * from
(select 
	data_date
	,plan_id
	,json_extract(data,'$.creative_list') d
	,split(replace(replace(replace(json_extract(data,'$.creative_list'),'[{','{'),'}]','}'),'},{','}"--"{'),'"--"') t 
from test_table 
where plan_id ='A' limit 2
) a 
CROSS JOIN UNNEST(t) as temp_table(t1)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值