日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

abap数据类型转换_ABAP 中JSON格式的转换与解析

發布時間:2025/3/12 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 abap数据类型转换_ABAP 中JSON格式的转换与解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正文

RT,JSON是當今十分流行的一種輕量數據格式,廣泛地應用于各種數據交換場景中。本文會介紹一種比較簡單的將ABAP中的數據轉換為JSON格式的方法。

(如果你是因為引號的問題搜索到了這篇文章,請直接拉到底部“其它部分”)

序列化

使用cl_trex_json_serializer類來將結構轉為JSON格式:

DATA:

serializer?TYPE?REF?TO?cl_trex_json_serializer,

lv_json?????TYPE?string.DATA:?BEGIN?OF?ls_kv,

key1??TYPE?string,

value?TYPE?string,??????END?OF?ls_kv.DATA:?lt_kv?LIKE?HASHED?TABLE?OF?ls_kv?WITH?UNIQUE?KEY?key1.

ls_kv-key1?=?'key'.

ls_kv-value?=?'值'.INSERT??ls_kv?INTO?TABLE?lt_kv.CREATE?OBJECT?serializer??EXPORTING

data?=?ls_kv.

serializer->serialize(?).

lv_json?=?serializer->get_data(?).WRITE?/?lv_json.

運行這段代碼,輸出結果,可以得到:

反序列化

使用cl_trex_json_deserializer來實現JSON的解析,代碼如下:

DATA:?deserializer?TYPE?REF?TO?cl_trex_json_deserializer.CLEAR?ls_kv.CREATE?OBJECT?deserializer.

deserializer->deserialize(????EXPORTING?json?=?lv_json????IMPORTING?abap?=?ls_kv??).WRITE:?/?ls_kv-key1,?/?,ls_kv-value.

運行程序,可以看到結果:

以上就是ABAP中轉換JSON數據的方法。當然,cl_trex_json_serializer與cl_trex_json_deserializer并不是唯一可以使用的類,SAP也為我們提供了CL_FDT_JSON, /UI2/CL_JSON等來進行JSON的序列化與反序列化,關于/UI2/CL_JSON它的更多信息,可以閱讀這篇文章:

其它

眼尖的讀者也許注意到,這兩個對象返回的的JSON是{key: "value"},而規范的JSON應該是{"key": "value"}的格式。如果使用它們來解析{"key": "value"}的話,會因為雙引號的問題導致出現異常,解析失敗。在這種情況下,推薦使用/UI2/CL_JSON:

/ui2/cl_json=>deserialize(?EXPORTING?json?=?json???????????????????????????CHANGING??data?=?data?).

總結

以上是生活随笔為你收集整理的abap数据类型转换_ABAP 中JSON格式的转换与解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。