ABAP 中 JSON串的拼接,JSON串解析以及JSON串生成

在接口的参数传递过程中通常会以JSON的方式去传递,这时候就涉及到了JSON串的解析或者生成

"LT_TAB TYPE TABLE 
"ZDATA_OUT TYPE STRING
/UI2/CL_JSON=>SERIALIZE(
    EXPORTING
      DATA             = 'LT_TAB'
    RECEIVING
      R_JSON           = ZDATA_OUT ).

 JSON串解析如下

"LT_OUTTAB TYPE TABLE
"ZDATA_IN TYPE STRING
"解析JSON
 /UI2/CL_JSON=>DESERIALIZE(
 EXPORTING
   JSON             = ZDATA_IN
 CHANGING
   DATA             = LT_OUTTAB ).

有时当参数传入参数是STRING类型时,本地测试的时候JSON数据过长会发生截断的现象,这时候需要用程序去手工拼接了

DATA: BEGIN OF ls_tab,
        text TYPE char255,
      END OF ls_tab.
DATA: lt_tab LIKE TABLE OF ls_tab.

DATA: lv_string TYPE string.
DATA:filename TYPE string.

PARAMETERS:  p_file TYPE string .

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file .

  CALL FUNCTION 'WS_FILENAME_GET'
    EXPORTING
      def_filename     = '*.TXT'
      def_path         = ''
      mode             = 'O'
      title            = ''
    IMPORTING
      filename         = p_file
    EXCEPTIONS
      inv_winsys       = 1
      no_batch         = 2
      selection_cancel = 3
      selection_error  = 4
      OTHERS           = 5.

  filename = p_file.

  CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
      filename            = filename
      has_field_separator = 'X'
    TABLES
      data_tab            = lt_tab
    EXCEPTIONS
      file_open_error     = 1.

  CLEAR: lv_string.
  LOOP AT lt_tab INTO ls_tab.
    lv_string = lv_string && ls_tab-text.
  ENDLOOP.

json 格式化

        " Display JSON in ABAP
        CALL TRANSFORMATION sjson2html SOURCE XML gt_zlogioalogs-zoutput
                                   RESULT XML lvc_html.
        cl_abap_browser=>show_html(
          title = 'Output JSON'
          html_string = cl_abap_codepage=>convert_from( lvc_html ) ).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gong JX

多谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值