嵌套json想要获取指定字段,只需要在DDL中row去取对应字段的key就可以,前提是这个对应字段的key在数据中一定存在 如果对于那种某些数据中有这个key,某些数据中没有key,这种情况作业运行会报错的,这个需要自行编写udf来解析获取。
更多详情请参见Flink如何获取JSON数据。例如JSON格式的数据,直接用JSON format解析,会被解析成一个 ARRAY<ROW< cola VARCHAR, colb VARCHAR>> 字段,就是一个 Row类型的数组,其中这个Row类型包含两个VARCHAR字段,然后通过UDTF解析。
{
"data":[
{
"cola":"test1",
"colb":"test2"
},
{
"cola":"test1",
"colb":"test2"
},
{
"cola":"test1",
"colb":"test2"
},
{
"cola":"test1",
"colb":"test2"
},
{
"cola":"test1",
"colb":"test2"
}
]
}
如果您需要获取普通JSON数据,方法详情请参见JSON Format。 如果您需要获取嵌套的JSON数据,则源表DDL中使用ROW格式定义JSON Object,结果表DDL中定义好要获取的JSON数据对应的Key,在DML语句中设置好Key获取的方式,就可以获取到对应的嵌套Key的Value值。参考文档:https://help.aliyun.com/document_detail/174840.htm
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。