上海龙象建设集团公司网站,网站的建设期,网站开发者工作描述,运营平台是什么意思ABAP 怎样将XML和JSON格式转换为HTML格式显示
一、将JSON格式转换为HTML格式
BAP接口程序开发中时常会用到JSON格式来传输数据#xff0c;在监控传输的JSON串内容时#xff0c;把JSON转换为HTML格式来显示会很便利。下面提供一个简单例子来实现JSON转化为HTML并显示的功能。…ABAP 怎样将XML和JSON格式转换为HTML格式显示
一、将JSON格式转换为HTML格式
BAP接口程序开发中时常会用到JSON格式来传输数据在监控传输的JSON串内容时把JSON转换为HTML格式来显示会很便利。下面提供一个简单例子来实现JSON转化为HTML并显示的功能。 使用 /ui2/cl_jsonserialize来生成JSON串调用 TRANSFORMATION sjson2html来转换HTML使用 cl_abap_browsershow_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.* 将内表转化为JSON
lv_json /ui2/cl_jsonserialize( data lt_ekpo[] ).TRY.
* 将JSON转换为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_codepageconvert_from( lv_html ).
cl_abap_browsershow_html( html_string lv_convert ).运行后弹出一个窗口显示HTML也可以通过‘’‘—’来收起或展开JSON很方便。
二、将HTML格式转换为XML格式 将xml字符串展示为格式化的XML格式 SELECT *FROM maktINTO TABLE DATA(carriers) up to 10 rows.CALL TRANSFORMATION id SOURCE carriers carriersRESULT XML DATA(xml).cl_demo_outputbegin_section( Some Text ).cl_demo_outputwrite_text( |blah blah blah \n| |blah blah blah| ).cl_demo_outputnext_section( Some Data ).cl_demo_outputbegin_section( Elementary Object ).cl_demo_outputwrite_data( carriers[ 1 ]-matnr ).cl_demo_outputnext_section( Internal Table ).cl_demo_outputwrite_data( carriers ).cl_demo_outputend_section( ).cl_demo_outputnext_section( XML ).cl_demo_outputwrite_xml( xml ).cl_demo_outputdisplay( ).“或者写为下列格式也可cl_demo_outputnew()-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( ).展示效果 显示为默认的颜色的弹窗 cl_demo_outputnew( TEXT)-display( carriers ).展示效果