首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用/UI2 2/CL_ JSON转换JSON,然后序列化

用/UI2 2/CL_ JSON转换JSON,然后序列化
EN

Stack Overflow用户
提问于 2022-10-14 09:39:16
回答 1查看 94关注 0票数 -1

我需要转换JSON。

我以"0000010006 GLAESS"的形式获得输出,但我需要{"customer_id":"0000010006","customer":"GLAESS"}

代码语言:javascript
运行
复制
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 ).
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-14 09:52:09

如果要序列化为JSON对象,则必须使用相应的ABAP结构。目前您正在将abap字符串序列化为json,这就是为什么您得到一个简单的json字符串。

代码语言:javascript
运行
复制
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"}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74067306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档