Hive 解析json字串

2022-04-04 20:53:33 字數 1014 閱讀 5561

get_json_object(string json_string, string path)

說明:第乙個引數填寫json物件變數

第二個引數使用$表示json變數標識,然後用 . 或 讀取物件或陣列;如果輸入的json字串無效,那麼返回null。

每次只能返回乙個資料項。

data 為 test表中的字段,資料結構如下:

data =

}, "email":"amy@only_for_json_udf_test.net",

"owner":"amy"

}

1.get單層值

hive> select get_json_object(data, '$.owner') from test;

結果:amy

2.get多層值.

hive> select get_json_object(data, '$.store.bicycle.price') from test;

結果:19.95

3.get陣列值

hive> select get_json_object(data, '$.store.fruit[0]') from test;
explode 就是將hive一行中複雜的array或者map結構拆分成多行。

demo:

select ordernumber, get_json_object(concat(''),'$.deviceinfo.deviceid') from table lateral view explode(split(substr(get_json_object(message,'$.data.yn031.results'),3,length(get_json_object(message,'$.data.yn031.results')) -4),'\\},\\{'))b1 as deviceid  where ;

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

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

JSON字串解析

一 json物件 js可以按以下方式定義物件 varobj 這樣就定義了物件 obj,它有兩個公共屬性id和name,可以用 obj.id 的方式直接訪問其屬性值。從伺服器獲取資料時往往不止乙個物件,這就需要用到物件陣列,js中物件陣列可以用 來定義,如下 varobjs alert objs 0 ...

json字串解析

有時儲存在資料庫的資料是一串json字串,需要進行讀取的時候就需要解析操作。簡單介紹兩種 1 net.sf.json.2 com.alibaba.fastjson.第一種使用方式 import net.sf.json.jsonarray import net.sf.json.jsonexceptio...