SAP 结构/内表 转成JSON字符串的两种方法

方法一:

data: json_ser type ref to cl_trex_json_serializer.

    create object json_ser
      exporting
        data = ev_output.

   call method json_ser->serialize.
    call method json_ser->get_data
      receiving
      rval = ev_json.

 

方法二:ev_json = /ui2/cl_json=>serialize( data = ev_output
                              pretty_name = /ui2/cl_json=>pretty_mode-low_case ).

 

其中使用方法一时,如果在ev_output中含有的特殊字符“&”的话,转成JSON之后“&”符号前面会被加上转义符号“\”(可能是因为“&”是ABAP语法中的关键字之类的,暂时未发现其他特殊字符会有这样的现象),导致有时候与其他系统交互时可能会报错(原因可能是&原本不需要转义符号),另外,bool类型的字段值会被转成''(FALSE)和‘X’(TURE),第二种方法则不会转换bool类型字段的值(保留原来的false 和ture)。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章