摘要:在ABAP接口程序开发中,JSON格式经常用于传输数据。当监控传输的JSON字符串的内容时,可以方便地将JSON转换为HTML格式进行显示。下面提供了一个简单的示例来实现将JSON转换为HTML并显示它的功能。其中:1,使用/ui2/cl_json=>;序列化以生成JSON字符串,2,调用TRANSFORMATION sjson2html以转换HTML,3,使用cl_abap_browser=&g
ABAP接口程序开发中时常会用到JSON格式来传输数据,在监控传输的JSON串内容时,把JSON转换为HTML格式来显示会很便利。
下面提供一个简单例子来实现JSON转化为HTML并显示的功能。
其中:
1,使用 /ui2/cl_json=>serialize来生成JSON串,
2,调用 TRANSFORMATION sjson2html来转换HTML,
3,使用 cl_abap_browser=>show_html显示HTML。
代码:
REPORT ztest_display_json.
DATA:lv_json TYPE string,
lv_convert TYPE string,
lo_json_ser TYPE REF TO cl_trex_json_serializer,
lv_err_text TYPE string,
lt_ekpo TYPE STANDARD TABLE OF ekpo.
SELECT *
INTO CORRESPONDING FIELDS OF TABLE lt_ekpo
FROM ekpo
UP TO 10 ROWS.
* 将内表转化为JSON
lv_json = /ui2/cl_json=>serialize( data = lt_ekpo[] ).
TRY.
* 将JSON转换为HTML
CALL TRANSFORMATION sjson2html SOURCE XML lv_json
RESULT XML DATA(lv_html).
CATCH cx_xslt_runtime_error INTO DATA(lo_err).
lv_err_text = lo_err->get_text( ).
WRITE: lv_err_text.
RETURN.
ENDTRY.
* 显示HTML
lv_convert = cl_abap_codepage=>convert_from( lv_html ).
cl_abap_browser=>show_html( html_string = lv_convert ).
运行后弹出一个窗口显示HTML也可以通过‘+’‘—’来收起或展开JSON,很方便。
![如何将JSON转换为HTML格式并显示第1张](http://www.baidusap.com/wp-content/uploads/2019-06-12_16-18-46-740x475.jpg)
如果不想把HTML显示在窗口中,可以利用一下show_html中的参数CONTAINER,将HTML显示在自己画的屏幕中。
![如何将JSON转换为HTML格式并显示第2张](http://www.baidusap.com/wp-content/uploads/2019-06-12_16-20-59-740x460.jpg)
其他:TRANSFORMATION sjson2html可以通过Tcode STRANS来查看。
![如何将JSON转换为HTML格式并显示第3张](http://www.baidusap.com/wp-content/uploads/2019-06-12_16-23-18.jpg)
以上。