ABAP 中JSON格式的轉換與解析

2021-07-31 16:47:29 字數 3501 閱讀 3975

正文

rt,json是當今十分流行的一種輕量資料格式,廣泛地應用於各種資料交換場景中。本文會介紹一種比較簡單的將abap中的資料轉換為json格式的方法。

回到頂部

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

data:

serializer type

refto cl_trex_json_serializer,

lv_json type

string.

data: begin

of ls_kv,

key1 type

string,

value type

string,

endof 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

refto 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是,而規範的json應該是的格式。如果使用它們來解析的話,會因為雙引號的問題導致出現異常,解析失敗。在這種情況下,推薦使用/ui2/cl_json:

/ui2/cl_json=>deserialize( exporting json = json

changing data = data ).

正文rt,json是當今十分流行的一種輕量資料格式,廣泛地應用於各種資料交換場景中。本文會介紹一種比較簡單的將abap中的資料轉換為json格式的方法。

回到頂部

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

data:

serializer type

refto cl_trex_json_serializer,

lv_json type

string.

data: begin

of ls_kv,

key1 type

string,

value type

string,

endof 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

refto 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是,而規範的json應該是的格式。如果使用它們來解析的話,會因為雙引號的問題導致出現異常,解析失敗。在這種情況下,推薦使用/ui2/cl_json:

/ui2/cl_json=>deserialize( exporting json = json

changing data = data ).

JSON的格式轉換

1 包名 com.alibaba.fastjson.json 1 日期格式轉換 writedateusedateformat 全域性修改日期格式,預設為false。如下 json.deffault date format yyyy mm dd string objstr json.tojsonstr...

json 格式轉換

datarow 轉換成json格式 public static string tojson datarow drrights jsonbuilder.remove jsonbuilder.length 1,1 jsonbuilder.remove jsonbuilder.length 1,1 ret...

js物件與json格式的轉換

目前的專案資料互動幾乎都用jquery,所以處理流程是 前端頁面資料 js物件 jquery提交 python處理,另外一種就是倒過來。python肯定不能直接處理js物件資料,所以要把js物件轉換成為python能處理的一種資料格式 通常是字典dict 同樣,python取資料反饋到前端也要把字典...