DataWorks如何获取a=2?select get_json_object('{"a":"1","a":"2"}', '$.a'),
get_json_object('{"a":"1","a":"2"}', '$.a[1][1]');
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在 DataWorks 中,你可以使用 get_json_object 函数来获取 JSON 对象中的值。get_json_object 函数的第一个参数是 JSON 对象,第二个参数是 JSON 对象中值的路径。路径使用点号分隔,表示 JSON 对象中的嵌套结构。
在你的例子中,第一个 get_json_object 函数的路径是 "$.a",表示获取 JSON 对象中键为 "a" 的值。由于 JSON 对象中有两个键为 "a" 的值,因此第一个 get_json_object 函数会返回第二个键为 "a" 的值,即 "2"。
第二个 get_json_object 函数的路径是 "$.a[1][1]",表示获取 JSON 对象中键为 "a" 的值的第二个子对象的值。由于 JSON 对象中没有这样的子对象,因此第二个 get_json_object 函数会返回 NULL。
需要注意的是,get_json_object 函数的第一个参数必须是一个有效的 JSON 对象,否则函数会返回 NULL。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。