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,很方便。


如果不想把HTML顯示在窗口中,可以利用一下show_html中的參數CONTAINER,將HTML顯示在自己畫的屏幕中。


其他:TRANSFORMATION sjson2html可以通過Tcode STRANS來查看。



