大数据计算MaxCompute函数 我想获取的结果是这样的,应该怎么写这个SQL喃?[阿里云MaxCompute]

问题1:咨询一个大数据计算MaxCompute函数(get_json_object)问题,有这样一个json {“a”:[{“t”:[{“Debit”:1},{“Debit”:2}],”c”:”aa”},{“t”:[{“Debit”:3},{“Debit”:4}],”c”:”bb”}]} 我想获取的结果是这样的
应该怎么写这个SQL喃?
json的层级如上
问题2:是这样的,里面的这个层级是不确定的,我看了你们的文档,好像没有关于这个一对多的多层级取数,所以才来咨询下

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 假设您想要获取每个 “t” 数组中的所有 “Debit” 值,并将它们作为一个列表返回,可以使用 MaxCompute 函数 get_json_object 结合其他函数来实现。

  2. 回答1:试一下这样1. 用GET_JSON_OBJECT获取到a,的值,变成json数组2. 获取json数组里的值:string类型的话,replace把两边的[] 替换成空,再用split切分json,再用get json object也可以这样直接获取数组里的下标为0的数值
    关于json数据类型的一些用法,可以参考下这个文档
    https://help.aliyun.com/zh/maxcompute/user-guide/maxcompute-json-type-usage-guide-trial-beta-version?spm=a2c4g.11186623.0.i109#b7b6afe014q9i
    回答2:如果每一条数据的层级都不确定,需要自建udf实现一下逻辑了。

    层级确定的话,可以用上述函数逐层获取一下看看,此回答整理自钉群“MaxCompute开发者社区2群”