一圖表明本文將要介紹的工具:

JSON是常見的資料格式,經常用于介面開發,ABAP開發者通常使用/ui2/cl_json來把JSON資料轉換為相應的ABAP型別,
在轉換前,必須要定義相應的ABAP型別,比如,如果要轉換如下的JSON資料,
{ "KEY1": "VALUE1", "KEY2": "VALUE2"}
則必須定義相應的ABAP結構型別,
TYPES: BEGIN OF t_record, key1 TYPE string, key2 TYPE string, END OF t_record.
轉換的代碼如下,
types: begin of t_record, key1 type string, key2 type string, end of t_record.data: json type string.data: record type t_record.json = '{"key1": "VALUE1", "key2": "VALUE2"}'./ui2/cl_json=>deserialize( exporting json = json changing data =https://www.cnblogs.com/hhelibeb/p/ record ).
這是一個簡單例子,如果JSON的格式復雜,會讓record的型別定義變成一項勞心勞力的作業...不僅要花時間和精力手寫結構定義,一旦出錯,也要花大量時間來排查錯誤,
JSON2ABAPType是一個開源工具,它可以通過JSON資料自動生成相應的ABAP結構定義,支持復雜JSON結構,可以為開發者節約時間精力,
專案地址:https://github.com/fidley/JSON2ABAPType
注意事項:
1,該工具依賴最新版的/ui2/cl_json,如果你的版本比較舊的話,可以需要打相關的SAP Notes (2526405, 2629179) ,
2019.10.12更新:我已經提交了一個新的PR,用zui2_json代替了/ui2/cl_json,這是樣做為了解決abap定義中組件順序問題,在這以后,不再需要系統中有/ui2/cl_json,
2,JSON資料中的欄位是可以省略的,注意要通過完整的JSON結構生成ABAP定義,否則可能生成不完整的ABAP定義(感謝ABAP亮亮的提示),
3,建議使用ABAPGIT安裝它,
安裝后,使用事務代碼SE38運行程式ZJSON2ABAPTYPE,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/2317.html
標籤:SAP
上一篇:成套銷售 開票成本累加
下一篇:查詢BPC動態表
