假設我有這個JSON字符串以下圖所示: json
個人任務是解析出上圖黑色方框裏的幾個字段,好比ObjectID, ETag, BuyerID, DateTime, ID, Name等等,把它們的值存儲到對應ABAP變量裏。ui
下面是ABAP解析方案。code
TYPES: BEGIN OF ty_header, objectid TYPE string, buyerid TYPE string, datetime TYPE string, id TYPE string, name TYPE string, END OF ty_header.
而後定義一個ABAP結構,字段名爲results,對應本文截圖裏加了紅色下劃線的json字符串中的results字段,類型爲剛剛定義的ty_header:blog
TYPES: BEGIN OF ty_result, results TYPE ty_header, END OF ty_result.
一樣,再定義一個ABAP結構ty_d:字符串
TYPES: BEGIN OF ty_d, d TYPE ty_result, END OF ty_d.string
總之,ABAP裏定義的結構,其字段名和層次結構必須和JSON字符串一致。class
DATA: ls_data TYPE ty_d. WRITE:/ lv_response. CALL METHOD /ui2/cl_json=>deserialize EXPORTING json = lv_response CHANGING data = ls_data.
執行上述代碼,發現反序列化成功: 變量
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":object