會通資訊|ArgoERP 提供全方位數位化轉型方案|立即諮詢相關資訊!

TOP

ArgoERP

Aug. 1 2025

如何產出Json格式資料及解析呢?

作者:Sammy

Oracle於資料庫19可建立CLOB, VARCHAR2或BLOB的資料型態欄位儲存Json資料,並且可透過CONSTRAINT CHECK由資料庫檢核是否為Json格式的資料,23c版本則提供了JSON的Data Type主要是效能上的提升。


進入此次主題,如何產出Json格式的資料呢? 及大量Json資料如何快速解析轉入至資料庫做後續的資料運用呢?產生Json的資料可透過json_object直接產出Json格式資料,而不必須自行做字串組合,解析Json資料則利用json_table將資料轉換為行列方式呈現。


範例1:直接以table column name為key,則可利用下列語法直接產出


範例2:多筆資料以Json Array方式產生


範例3:以Json Array方式產生多筆資料時若要有key,則再以json_object包一層即可


範例4:自行指定key如下



Oracle提供了JSON_OBJECT及JSON_ARRAYAGG以有效率及極簡語法產出JSON格式資料進行資料交換而無須費工費時的自行組合key及value;反之,若接收了JSON格式資料,該如何解析呢?
下面為接收到的資料範列,多筆訂單且每張訂單有一或多張單的託運單號



可利用JSON_TABLE將Json格式資料轉換為列及欄的資料,轉換後您可以想像它就是一個View,後續資料的運用就如同一般的SQL運作,可拿來做批次資料的處理,上述的Json格式資料,透過JSON_TABLE將資料轉換如下圖所示:



Json的key是有區分大小寫,所以在取Json格式資料時要特別注意,例如:datas誤植為Datas則會取不到任何資料,上述的範例為Json Array中又有Json Array所以利用了NESTED PATH取出訂單的託運單號。



本章節簡述Json比較常用的產出及解析,對於Json的資料增加及異動另有其它語法,有興趣者可網上自行研讀。


(02)2521-2589#110
winnie@argotek.com.tw

 

成功!
感謝您訂閱會通電子報
OK
成功!
您已取消訂閱會通電子報
OK