我需要转换JSON。
我以"0000010006 GLAESS"
的形式获得输出,但我需要{"customer_id":"0000010006","customer":"GLAESS"}
TYPES: BEGIN OF ty_field,
customer_id TYPE string,
address TYPE string,
created_time TYPE string,
customer TYPE string,
date_created TYPE string,
END OF ty_field,
BEGIN OF ty_record,
id TYPE string,
createdtime TYPE string,
fields TYPE ty_field,
END OF ty_record,
BEGIN OF ty_response,
records TYPE STANDARD TABLE OF ty_record WITH EMPTY KEY,
END OF ty_response.
DATA:ls_response TYPE ty_response.
START-OF-SELECTION.
DATA(resp) = `{"records":[{"id":"rec5Qk24OQpKDyykq","createdTime":"2022-08-03T10:14:43.000Z","fields":{"customer_id":"0000010001","address":"Chennai","time_created":"06:00:14","customer":"IDADMIN","date_created":"16.04.2004"}},{"id":"rec7bSe8` &&
`Zb18z6b5a","createdTime":"2022-08-08T13:07:16.000Z","fields":{"customer_id":"0000010007","address":"Kakinada","time_created":"04:01:18","customer":"Ramya","date_created":"15.04.2000"}},{"id":"recD9Hh4YLgNXOhUE","createdTime":"2022-08-08T11:48:06.00` &&
`0Z","fields":{"customer_id":"0000010002","address":"Bangalore","time_created":"04:03:35","customer":"MAASSBERG","date_created":"20.04.2004"}},{"id":"recK7Tfw4PFAedDiB","createdTime":"2022-08-03T10:14:43.000Z","fields":{"customer_id":"0000010005","a` &&
`ddress":"Kakinada","time_created":"12:55","customer":"Lakshmi","date_created":"13-10-2022"}},{"id":"recKOq0DhEtAma7BV","createdTime":"2022-08-03T10:14:43.000Z","fields":{"customer_id":"0000010006","address":"Hyderabad","time_created":"18:42:28","cu` &&
`stomer":"GLAESS","date_created":"21.04.2004"}},{"id":"recS8pg10dFBGj8o7","createdTime":"2022-08-03T10:14:43.000Z","fields":{"customer_id":"0000010003","address":"Gurugram","time_created":"04:10:02","customer":"MAASSBERG","date_created":"20.04.2004"` &&
`}},{"id":"recf4QbOmKMrBeLQZ","createdTime":"2022-08-03T10:14:43.000Z","fields":{"customer_id":"0000010004","address":"Bangalore","time_created":"06:00:12","customer":"IDADMIN","date_created":"21.04.2004"}},{"id":"recs7oHEqfkN87tWm","createdTime":"2` &&
`022-08-03T10:14:43.000Z","fields":{"customer_id":"0000010000","address":"Hyderabad","time_created":"04:01:18","customer":"MAASSBERG","date_created":"15.04.2004"}}]}`.
/ui2/cl_json=>deserialize(
EXPORTING
json = resp
pretty_name = /ui2/cl_json=>pretty_mode-user
CHANGING
data = ls_response ).
DATA(ls_first_entry) = ls_response-records[ 5 ].
DATA(opt) = ls_first_entry-fields-customer_id && ` ` && ls_first_entry-fields-customer .
DATA(output) = /ui2/cl_json=>serialize(
data = opt
compress = abap_true
pretty_name = /ui2/cl_json=>pretty_mode-camel_case ).
发布于 2022-10-14 09:52:09
如果要序列化为JSON对象,则必须使用相应的ABAP结构。目前您正在将abap字符串序列化为json,这就是为什么您得到一个简单的json字符串。
TYPES: BEGIN OF ty_serialize,
customer_id TYPE string,
customer TYPE string,
END OF ty_serialize.
" Note: we build a structure, and not a string
DATA(ls_serialize) = VALUE ty_serialize( customer_id = ls_first_entry-fields-customer_id customer = ls_first_entry-fields-customer ).
DATA(lv_json1) = /ui2/cl_json=>serialize( data = ls_serialize
compress = abap_true
pretty_name = /ui2/cl_json=>pretty_mode-low_case ).
" Result: {"customer_id":"0000010006","customer":"GLAESS"}
https://stackoverflow.com/questions/74067306
复制相似问题