ABAP:使用“字符串”或“ xstring”存储JSON?

时间:2019-04-29 09:32:02

标签: sap abap

我使用abap方法创建JSON。

例如:

DATA(lo_json_writer) = cl_sxml_string_writer=>create( type = if_sxml=>co_xt_json ).
CALL TRANSFORMATION id
        SOURCE result = result
        RESULT XML lo_json_writer.

cl_abap_conv_in_ce=>create( )->convert(
        EXPORTING
          input = lo_json_writer->get_output( )
        IMPORTING
          data = json ).

我应该为json使用哪种数据类型?

使用string还是xstring

2 个答案:

答案 0 :(得分:4)

没有“好方法”。每种解决方案都有优点和缺点。

如果您的数据主要包含“拉丁”字符,则使用具有UTF-8编码的xstring,它将占用更少的内存。

  • xstring,采用UTF-8编码:一个字节用于普通AZ / az / 0-9字符,两个字节用于强调字符,其他字节用于其他语言(中文等)字符。
  • li>
  • string:每个字符两个字节(编码类似于UCS-2),因为所有ABAP系统现在都是Unicode(ABAP> = 7.50)。

答案 1 :(得分:2)

根据此blog-entry(https://blogs.sap.com/2013/01/07/abap-and-json/):“为了将XML数据存储在字符串或内部表中,建议您使用字节字符串或类似字节的线型。”因此,我将使用xstring。