abap json怎么转换成结构
时间: 2024-05-31 14:06:24 浏览: 21
ABAP JSON转换成结构可以通过使用标准类CL_SXML_STRING_SERIALIZER来实现。首先,您需要使用方法SXML_CREATE_DOCUMENT创建一个XML文档对象,并使用该对象的方法SXML_PARSE_STRING将JSON字符串解析为XML格式。接下来,您可以使用方法SXML_STRINGIFY将XML文档序列化为ABAP内部表,然后再使用方法SDIXML_XML_TO_DOM转换为DOM对象。最后,您可以使用方法SDIXML_DOM_TO_DATA将DOM对象转换为ABAP内部表。
下面是一个示例代码:
```
DATA: lo_serializer TYPE REF TO cl_sxml_string_serializer,
lt_xml TYPE STANDARD TABLE OF string,
lo_document TYPE REF TO if_ixml_document,
lo_dom TYPE REF TO if_ixml_element.
" 1. Create XML document object
lo_document = cl_ixml=>create_document( ).
" 2. Parse JSON string to XML format
lo_serializer = cl_sxml_string_serializer=>create( type = if_sxml=>co_xt_json ).
lo_serializer->parse_string( EXPORTING xml = lo_document->create_simple( )->get_inner_value( ) " JSON string
RECEIVING result = lt_xml ).
" 3. Serialize XML document to ABAP internal table
lo_serializer = cl_sxml_string_serializer=>create( type = if_sxml=>co_xt_pretty ).
lo_serializer->serialize( EXPORTING value = lo_document RECEIVING result = lt_xml ).
" 4. Convert XML to DOM object
CALL METHOD cl_ixml=>xml_to_dom
EXPORTING
xml = lt_xml[]
RECEIVING
dom = lo_dom.
" 5. Convert DOM object to ABAP internal table
CALL METHOD cl_ixml=>dom_to_data
EXPORTING
dom = lo_dom
RECEIVING
data = lt_struct.
```
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)