JSON和SAP内表转化
Json格式与SAP内表转化
- 一、json转内表(/ui2/cl_json=>deserialize)
- 1、josn格式,key 和value是带双引号
- 2、定义和josn格式相同的内表
- 3、调用SAP内部函数
- 二、内表结构转json
- 1、定义结构
- 2、内表转Json
一、json转内表(/ui2/cl_json=>deserialize)
1、josn格式,key 和value是带双引号
josn格式,key 和value是带双引号的,使用 /ui2/cl_json=>deserialize反序列化
如下面的json格式
[{"Z002S": "6-QTF-60 蓝色AC款纸箱 B17815T\n","SQDH": "SD-031457","POSNR": "10","Z007S": "特殊商标 - ZNG-SB18815T\n","MATNR": "VC-6-QTF-60"},{"Z002S": "6-QTF-70 蓝色AC款包装B17816T\n","SQDH": "SD-031457","POSNR": "20","Z007S": "特殊商标 - ZNG-SB18816T\n","MATNR": "VC-6-QTF-70"}
]
2、定义和josn格式相同的内表
定义内表
DATA: BEGIN OF it_itab OCCURS 0,SQDH(200) TYPE c,MATNR(36) TYPE c,POSNR(2) TYPE c,Z002S(255) TYPE c,Z007S(255) TYPE c,END OF it_itab.
3、调用SAP内部函数
"JSON->内表 CALL METHOD /ui2/cl_json=>deserializeEXPORTINGjson = jsonstr "jsonstr是json字符串CHANGINGdata = it_itab[]. “it_itab[]是转化的内表,中括号一定要有
二、内表结构转json
1、定义结构
TYPES: BEGIN OF ZSEND_SMS_DATA,phonenumber(255) TYPE c,templateparamcode(200) TYPE c,type(200) TYPE c,notifytype(200) TYPE c,END OF ZSEND_SMS_DATA.data:ls_ZSEND_SMS_DATA TYPE ZSEND_SMS_DATA. DATA: lv_json_str TYPE string. “要转化的json
2、内表转Json
“内表结构ls_ZSEND_SMS_DATA-phonenumber = '13403124706'.ls_ZSEND_SMS_DATA-templateparamcode = '1'.ls_ZSEND_SMS_DATA-type = '1'.ls_ZSEND_SMS_DATA-notifytype = '13403124706'.
"内表转josnlv_json_str = /ui2/cl_json=>serialize( data = ls_ZSEND_SMS_DATA compress = abap_true pretty_name = abap_true ).注意:需要对一些特殊字符做处理,否则外部系统处理JSON数据时会报错REPLACE '&' WITH '' INTOlv_json_str.
REPLACE '\R' WITH '' INTO lv_json_str.
REPLACE '\N' WITH '' INTO lv_json_str.
REPLACE ALLOCCURRENCES OF '\' in lv_json_str with '/'.
REPLACE ALL OCCURRENCES of '"' in lv_json_str with ''.最后转化的json格式:
{ "PhoneNumbers": "13403124706","TemplateParamCode": null,"Type": "1","NotifyType": "11"}
JSON和SAP内表转化相关推荐
- sap内表 table_LINE
变态的10号,总爱玩些诡异的写法,哈哈: data: it_vbfa LIKE vbfa-vbeln OCCURS 0 WITH HEADER LINE. IF it_vbfa[] IS NO ...
- SAP内表转json json转内表方法(自定义实现 ZCL_JSON)
=> Reference 如果系统缺少类/UI2/CL_JSON,则报错:2500033 - Type /UI2/CL_JSON is unknown 系统缺少类/UI2/CL_JSON,可自行 ...
- 【转】ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...
- SAP ABAP 内表使用
SAP里面主要有三处类型的内表:standard table,sorted table,hashed table 定义语法:TYPES|DATA itab {TYPE|LIKE} tabkind OF ...
- 【ABAP系列】SAP ABAP 取两个内表的交集 比较两个内表的不同
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 取两个内表的交 ...
- ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...
- SAP ABAP 动态内表的条件查询(SORT / READ TABLE / LOOP)
SAP ABAP 动态内表的条件查询(SORT / READ TABLE / LOOP) 简介: 动态内表是动态报表的核心,动态内表的条件操作能有效解决性能问题.这篇文章用于普及动态内表在 SORT ...
- 【转载】SAP ABAP内表OCCURS,WORK AREA等 语法对比
先来看看内表是什么东西.顾名思义内表是一张存在内存中的表.首先,它是由很多work area组成.所谓work area,说通俗一点即是表的一行,占用一定的内存空间.那么为什么要有内表存在呢?原因在于 ...
- SAP abap内表分类与增删改查操作
SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...
最新文章
- 对比直立车模控制中的互补滤波、Karlman滤波和参考滤波方案
- 【关于重载OnBackPressed无效的解决方案】
- 分享一篇关于使用阿里云消息队列中遇到的坑
- mysql dblink 链接mysql库
- quant companies
- 如何注释python中html,Python在HTML中提取带注释的代码,python,html,被
- C#中using关键字的作用及其用法(转)
- 一辆车,一年大概要花费多少钱,除了油费?
- 大数据项目开发进度(实时更新)
- AVR单片机(ATmega128)单片机运算乘除法大约所需时间
- 【Linux】Linux安装搜狗输入法
- STM32--舵机(SG90)
- ROS-3DSLAM(4):lidar_odometry包浅析
- 萌新的51之旅——串口通信(2)
- email英文计算机求职信,求职信_计算机英文求职信
- Win7 桌面右键一直转圈很慢
- Win10联想电脑连不上wifi解决方法
- chrome 有哪些有用的插件
- iperf安装与使用
- SpringMVC的执行流程源码分析?