網(wǎng)站建設(shè)有什么崗位職責(zé)網(wǎng)絡(luò)營銷策劃方案書
ABAP 怎樣將XML和JSON格式轉(zhuǎn)換為HTML格式顯示
一、將JSON格式轉(zhuǎn)換為HTML格式
- BAP接口程序開發(fā)中時(shí)常會用到JSON格式來傳輸數(shù)據(jù),在監(jiān)控傳輸?shù)腏SON串內(nèi)容時(shí),把JSON轉(zhuǎn)換為HTML格式來顯示會很便利。
- 下面提供一個(gè)簡單例子來實(shí)現(xiàn)JSON轉(zhuǎn)化為HTML并顯示的功能。
- 使用 /ui2/cl_json=>serialize來生成JSON串,
- 調(diào)用 TRANSFORMATION sjson2html來轉(zhuǎn)換HTML,
- 使用 cl_abap_browser=>show_html顯示HTML。
- 代碼:
*&---------------------------------------------------------------------* *& Report ZDEMO_TEST *&---------------------------------------------------------------------* *&*&---------------------------------------------------------------------* REPORT zdemo_test.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_ekpoFROM ekpoUP TO 10 ROWS.* 將內(nèi)表轉(zhuǎn)化為JSON lv_json = /ui2/cl_json=>serialize( data = lt_ekpo[] ).TRY. * 將JSON轉(zhuǎn)換為HTMLCALL TRANSFORMATION sjson2html SOURCE XML lv_jsonRESULT 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 ).
- 運(yùn)行后彈出一個(gè)窗口顯示HTML也可以通過‘+’‘—’來收起或展開JSON,很方便。
二、將HTML格式轉(zhuǎn)換為XML格式
-
將xml字符串展示為格式化的XML格式
SELECT *FROM maktINTO TABLE @DATA(carriers) up to 10 rows.CALL TRANSFORMATION id SOURCE carriers = carriersRESULT XML DATA(xml).cl_demo_output=>begin_section( `Some Text` ).cl_demo_output=>write_text( |blah blah blah \n| &&|blah blah blah| ).cl_demo_output=>next_section( `Some Data` ).cl_demo_output=>begin_section( `Elementary Object` ).cl_demo_output=>write_data( carriers[ 1 ]-matnr ).cl_demo_output=>next_section( `Internal Table` ).cl_demo_output=>write_data( carriers ).cl_demo_output=>end_section( ).cl_demo_output=>next_section( `XML` ).cl_demo_output=>write_xml( xml ).cl_demo_output=>display( ).“或者寫為下列格式也可cl_demo_output=>new()->begin_section( `Some Text`)->write_text( |blah blah blah \n| &&|blah blah blah|)->next_section( `Some Data`)->begin_section( `Elementary Object`)->write_data( carriers[ 1 ]-matnr)->next_section( `Internal Table`)->write_data( carriers)->end_section()->next_section( `XML`)->write_xml( xml)->display( ).
-
展示效果
-
顯示為默認(rèn)的顏色的彈窗
cl_demo_output=>new( 'TEXT')->display( carriers ).
-
展示效果