解析嵌套的json方法:GET_JSON_OBJECT()

目录

样式数据:

参数说明:

建表语句:

目标:想要求出来lucy

结果


解析json方式一:利用hive函数 get_json_object(param1,param2) 解析复杂的嵌套json数据

话不多说,直接示例:

样式数据:

{
    "users":{
        "user1":{
            "userId":"1",
            "userName":"name1",
            "children":[
                {
                    "son":"lucy"
                },
                {
                    "son":"lili"
                }
            ]
        },
        "user2":{
            "userId":"2",
            "userName":"name2"
        }
    },
    "admin":"admin"
}

 

参数说明:

        get_json_object(param1,param2)

        param1填写json对象变量,

        param2使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;如果输入的json字符串无效,那么返回NULL。

建表语句:


DROP TABLE IF  EXISTS json_test;
CREATE TABLE IF NOT EXISTS json_test(
`json`               STRING COMMENT 'json串'
)
COMMENT 'json_test'
lifecycle 36500;

 

目标:想要求出来lucy

        

SELECT  GET_JSON_OBJECT(json,'$.users.user1.children[0].son')
FROM    json_test;

结果

       

 

 解析json方式二: 

ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'

建表指定SerDe格式 

待更新.....


版权声明:本文为m0_63526768原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。