网站建设有什么岗位职责网站推广服务报价表
ABAP 怎样将XML和JSON格式转换为HTML格式显示
一、将JSON格式转换为HTML格式
- BAP接口程序开发中时常会用到JSON格式来传输数据,在监控传输的JSON串内容时,把JSON转换为HTML格式来显示会很便利。
- 下面提供一个简单例子来实现JSON转化为HTML并显示的功能。
- 使用 /ui2/cl_json=>serialize来生成JSON串,
- 调用 TRANSFORMATION sjson2html来转换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.* 将内表转化为JSON lv_json = /ui2/cl_json=>serialize( 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_codepage=>convert_from( lv_html ). cl_abap_browser=>show_html( html_string = lv_convert ). - 运行后弹出一个窗口显示HTML也可以通过‘+’‘—’来收起或展开JSON,很方便。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FKjyGOxg-1678545843233)(D:\学习计划笔记\问题解决办法\IMAGE\image-20230223103014282.png)]](https://img-blog.csdnimg.cn/d55984f3a31d47ab9faf90c3076f256c.png)
二、将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_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( ). -
展示效果
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aJccjCd8-1678545843233)(D:\学习计划笔记\问题解决办法\IMAGE\image-20230307111724625.png)]](https://img-blog.csdnimg.cn/77f8f7e19c4f4bea8c42fa1e1f60b413.png)
-
显示为默认的颜色的弹窗
cl_demo_output=>new( 'TEXT')->display( carriers ). -
展示效果
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZYgCqH4l-1678545843234)(D:\学习计划笔记\问题解决办法\IMAGE\image-20230307112110949.png)]**](https://img-blog.csdnimg.cn/aac4491d83d54288a9dcd0a8595953e2.png)
