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内表转化相关推荐

  1. sap内表 table_LINE

    变态的10号,总爱玩些诡异的写法,哈哈: data: it_vbfa     LIKE vbfa-vbeln OCCURS 0 WITH HEADER LINE. IF it_vbfa[] IS NO ...

  2. SAP内表转json json转内表方法(自定义实现 ZCL_JSON)

    => Reference 如果系统缺少类/UI2/CL_JSON,则报错:2500033 - Type /UI2/CL_JSON is unknown 系统缺少类/UI2/CL_JSON,可自行 ...

  3. 【转】ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式, 以及JSON数据如何放入内表. REPORT ZTEST005. DATA : JSON_SER TYPE REF TO CL_TREX_JSON_S ...

  4. SAP ABAP 内表使用

    SAP里面主要有三处类型的内表:standard table,sorted table,hashed table 定义语法:TYPES|DATA itab {TYPE|LIKE} tabkind OF ...

  5. 【ABAP系列】SAP ABAP 取两个内表的交集 比较两个内表的不同

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 取两个内表的交 ...

  6. ABAP内表数据和JSON格式互转

    本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...

  7. SAP ABAP 动态内表的条件查询(SORT / READ TABLE / LOOP)

    SAP ABAP 动态内表的条件查询(SORT / READ TABLE / LOOP) 简介: 动态内表是动态报表的核心,动态内表的条件操作能有效解决性能问题.这篇文章用于普及动态内表在 SORT ...

  8. 【转载】SAP ABAP内表OCCURS,WORK AREA等 语法对比

    先来看看内表是什么东西.顾名思义内表是一张存在内存中的表.首先,它是由很多work area组成.所谓work area,说通俗一点即是表的一行,占用一定的内存空间.那么为什么要有内表存在呢?原因在于 ...

  9. SAP abap内表分类与增删改查操作

    SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...

最新文章

  1. 对比直立车模控制中的互补滤波、Karlman滤波和参考滤波方案
  2. 【关于重载OnBackPressed无效的解决方案】
  3. 分享一篇关于使用阿里云消息队列中遇到的坑
  4. mysql dblink 链接mysql库
  5. quant companies
  6. 如何注释python中html,Python在HTML中提取带注释的代码,python,html,被
  7. C#中using关键字的作用及其用法(转)
  8. 一辆车,一年大概要花费多少钱,除了油费?
  9. 大数据项目开发进度(实时更新)
  10. AVR单片机(ATmega128)单片机运算乘除法大约所需时间
  11. 【Linux】Linux安装搜狗输入法
  12. STM32--舵机(SG90)
  13. ROS-3DSLAM(4):lidar_odometry包浅析
  14. 萌新的51之旅——串口通信(2)
  15. email英文计算机求职信,求职信_计算机英文求职信
  16. Win7 桌面右键一直转圈很慢
  17. Win10联想电脑连不上wifi解决方法
  18. chrome 有哪些有用的插件
  19. iperf安装与使用
  20. SpringMVC的执行流程源码分析?

热门文章

  1. 中国医科大学2021年9月《组织胚胎学》作业考核试题
  2. HDU 3091 Necklace
  3. UI设计:英文字体运用指导手册
  4. UML 中对象和对象之间的几种关系及图例,画法(泛化,依赖,聚合,组合,实现,关联)
  5. Python数据结构 四种链表的集合
  6. 安全防御 --- SSL VPN
  7. ToggleGroup的使用
  8. 焦虑可能与食品添加剂有关,警惕食品添加剂引起微生物群变化
  9. 闻之梦中,曾经如是(3)
  10. 幻立方解法之暴力求解