hive 解析jason字串

2021-10-06 15:02:23 字數 763 閱讀 2220

經常有jason字串需要解析後,取對應位置的資料,jason字串可能是這樣的:

(這個只有兩個字段,但是道理是一樣的嘛)

這時只需要使用視窗函式get_json_object,具體**如下:

select

get_json_object(info,'$.type') as type,

get_json_object(info,'$.id') as id

from t0

其中info是jason字串的列名,結果如下:

id type

1 1

2 2

3 3

如果jason字串變成了下面這種:

[,,]
那函式可不好使了喲,查詢出來就是空了,所以需要先拆分再取字串,**如下:

select 

tmpfrom t0

lateral view explode(split(regexp_replace(regexp_replace(regexp_replace(info,'\\\]',''),

'\\\[',''),'\\\},\\\\001\\\

然後再使用視窗函式get_json_object即可;

我們在分割字串時還用到了行轉列的視窗函式lateral view explode,和split函式

Hive 解析json字串

get json object string json string,string path 說明 第乙個引數填寫json物件變數 第二個引數使用 表示json變數標識,然後用 或 讀取物件或陣列 如果輸入的json字串無效,那麼返回null。每次只能返回乙個資料項。data 為 test表中的字段...

Hive解析Json字串(含json陣列)

由於字段內容為json字串,隨需要用到get json object string json string,string path 最初只是知道該方法可以解析簡單的json字串,比如 select get json object key1 結果 value1但由於目標欄位中的json字串含有json...

Hive字串函式

字串函式 1.int ascii string str 返回第乙個字元的ascii碼值 demo select ascii abcde result 97 string 2.base64 binary bin 二進位制轉為base 64 3.int character length string s...