1.案例
1.1 json_tuple的使用
select get_json_object('{"name":"ding","city":"shanghai"}','$.city'); --shanghai
select get_json_object('[{"name":"ding","city":"shanghai"},{"name":"ding2","city":"shanghai2"}]','$.[0].city'); --shanghai
select json_tuple('
{
"校名": "浙江大学",
"地址":"杭州",
"SchoolRank": "00",
"Class1":{
"Student":[{
"studentId":1,
"scoreRankIn3Year":[1,2,[3,2,6]]
}, {
"studentId":2,
"scoreRankIn3Year":[2,3,[4,3,1]]
}]}
}
',"SchoolRank","Class1","Class1.Student[*].studentId") as (item0,item1,studentId);
select json_tuple('
{
"校名": "浙江大学",
"地址":"杭州",
"SchoolRank": "00",
"Class1":{
"Student":[{
"studentId":1,
"scoreRankIn3Year":[1,2,[3,2,6]]
}, {
"studentId":2,
"scoreRankIn3Year":[2,3,[4,3,1]]
}]}
}
',"Class1.Student[0].studentId") as (studentId);
select json_tuple('
{
"Student":[{
"studentId":1,
"scoreRankIn3Year":[1,2,[3,2,6]]
}, {
"studentId":2,
"scoreRankIn3Year":[2,3,[4,3,1]]
}]
}
',"Student[0].studentId") as (studentId);
2.参考资料
Hive解析Json数组超全讲解