ABAP JSON
1
DATA: lv_em TYPE string,
lv_em1 TYPE string.
DATA: lt_but021 TYPE TABLE OF but021,
lt_but0211 TYPE TABLE OF but021,
ls_but021 TYPE but021. "数据
lv_em = 'test' . ls_but021-partner = 'partner1' .
ls_but021-adr_kind = 'kind1' .
ls_but021-addrnumber = 'addr1' .
APPEND ls_but021 TO lt_but021 .
ls_but021-partner = 'partner2' .
ls_but021-adr_kind = 'kind2' .
ls_but021-addrnumber = 'addr2' .
APPEND ls_but021 TO lt_but021 . " abap 转json
DATA(json_writer) = cl_sxml_string_writer=>create( type = if_sxml=>co_xt_json ).
CALL TRANSFORMATION id
SOURCE content = lv_em
itable = lt_but021
RESULT XML json_writer.
DATA(json) = json_writer->get_output( ).
DATA: lv_json TYPE string .
CALL FUNCTION 'ECATT_CONV_XSTRING_TO_STRING'
EXPORTING
im_xstring = json
im_encoding = 'UTF-8'
IMPORTING
ex_string = lv_json. " json 转 abap
CALL TRANSFORMATION id
SOURCE XML lv_json
RESULT content = lv_em1
itable = lt_but0211.
2
DATA lv_json TYPE string."定义JSON存放的变量
DATA lr_json_serializer TYPE REF TO cl_trex_json_serializer."解析JSON 用到的类(编译成JSON格式)
DATA lr_json_deserializer TYPE REF TO cl_trex_json_deserializer. "解析JSON 用到的类(解析JSON格式)
DATA: BEGIN OF wa_wl,
zzfld0000ht TYPE crmt_item_descr_partner,
zzfld0000hu TYPE crmt_prshtextx_db,
zzfld0000hv TYPE zdtel00002x,
zzfld0000hw TYPE zdtel000135,
zzfld0000hx TYPE zdtel0001d3,
zzfld0000i0 TYPE char10,
END OF wa_wl. "根据结构通过这个类可以转换成JSON格式
CREATE OBJECT lr_json_serializer
EXPORTING
data = wa_wl.
lr_json_serializer->serialize( ).
lv_json = lr_json_serializer->get_data( ).
"OA 需要用双引号才能识别是JSON格式这里需要转换下
REPLACE 'zzfld0000i0'IN lv_json WITH '"ZCBZ"'.
REPLACE 'zzfld0000ht'IN lv_json WITH '"WLBM"'.
REPLACE 'zzfld0000hu'IN lv_json WITH '"WLMC"'.
REPLACE 'zzfld0000hw'IN lv_json WITH '"WLDJ"'.
REPLACE 'zzfld0000hv'IN lv_json WITH '"WLSL"'.
REPLACE 'zzfld0000hx'IN lv_json WITH '"HJ"'.
IF i_num > .
CONCATENATE str1 ',' INTO str1.
ENDIF.
CONCATENATE str1 lv_json INTO str1.
IF str1 IS NOT INITIAL.
CONCATENATE '[' str1 ']' INTO str1.
CONDENSE str1 NO-GAPS.
set_fieldcat 'RTFTEXTDYNAMIC' str1.
ENDIF.
ABAP 中内表数据转JSON 格式,转之后格式需要调整。
文章转自 http://blog.chinaunix.net/uid-29195436-id-5146433.html
ABAP JSON的更多相关文章
- ABAP JSON转换
REPORT ztest_json. DATA: json_ser TYPE REF TO cl_trex_json_serializer, json_des TYPE REF TO zcl_trex ...
- ABAP开源项目清单
因为曾经的“SAP Code Exchange”平台已经于2013年倒闭,现在无论在SCN还是网络上都比较难找到一个地方来关注全部的优秀ABAP开源项目. 本文将这些项目的地址和他们的描述列出,以供参 ...
- ABAP 内表数据 与 Json串 相互转换
内表: A B C IMINGZHA HAIMINGZ AIMINGZH 1 2 3 4 5 6 Json串: [{a: "IMINGZHA", b: "HAIMIN ...
- ABAP接口之Http发送json报文
abap 调用http 发送 json 测试函数 SE11创建结构:zsmlscpnotice SE37创建函数:zqb_test_http_fuc1 FUNCTION zqb_test_http_f ...
- ABAP 中JSON格式的转换与解析
RT,JSON是当今十分流行的一种轻量数据格式,广泛地应用于各种数据交换场景中.本文会介绍一种比较简单的将ABAP中的数据转换为JSON格式的方法. (如果你是因为引号的问题搜索到了这篇文章,请直接拉 ...
- ABAP内表数据和JSON格式互转
本程序演示ABAP内表数据如何转为JSON格式,以及JSON数据如何放入内表. 注:json字符串格式如:jsonstr = '[ {flag: "0",message: &quo ...
- 如何使用ABAP代码反序列化JSON字符串成ABAP结构
假设我有这个JSON字符串如下图所示: 我的任务是解析出上图黑色方框里的几个字段,比如ObjectID, ETag, BuyerID, DateTime, ID, Name等等,把它们的值存储到对应A ...
- JSON2ABAPType:根据JSON数据结构生成ABAP类型定义
一图表明本文将要介绍的工具: JSON是常见的数据格式,经常用于接口开发.ABAP开发者通常使用/ui2/cl_json来把JSON数据转换为相应的ABAP类型. 在转换前,必须要定义相应的ABAP类 ...
- 关于ABAP和JSON互相转换
关于ABAP数据结构和JSON格式转换,需要用到标准的类/UI2/CL_JSON一下两个方法, DESERIALIZE是把JSON格式转换成ABAP数据结构,SERIALIZE是把ABAP数据结构转换 ...
随机推荐
- LeetCode01--两数之和
''' 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的 两个 整数. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这个数组中同样的元素. 示例: 给 ...
- win10 命令行无法直接ping的问题解决方法
ping是在system32下的一个应用包里,设置完环境变量并保存之后若还是无法直接ping,可以考虑如下方法: 打开命令行窗口,键入以下命令: cd\ cd windows\system32 pin ...
- xtu字符串 B. Power Strings
B. Power Strings Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java c ...
- hdu 1043 A*
http://www.cnblogs.com/183zyz/archive/2011/08/12/2135827.html #include<stdio.h> #define N 3630 ...
- [NOIP2002] 提高组 洛谷P1033 自由落体
题目描述 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1.在地面上有一个小车(长为 L,高为 K,距原点距离为 S1).已知小球下落距离计算公式为 d=1/2*g* ...
- 无向图生成树计数 基尔霍夫矩阵 SPOJ Highways
基尔霍夫矩阵 https://blog.csdn.net/w4149/article/details/77387045 https://blog.csdn.net/qq_29963431/articl ...
- CodeForces 593A 2Char
暴力. #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> u ...
- ArcGIS Engine三维动画开发 来自:http://www.iarcgis.com/?p=826
ArcGIS Engine 三维开发 来自:http://www.iarcgis.com/?p=826 在三维中,经常使用的一个功能就是播放动画,也就是我们要对一条动画轨迹进行播放,而在ArcGIS ...
- Delphi中匿名方法动态绑定事件
应恢弘之约,写了一个对其发布的匿名函数动态绑定到事件的封装,代码如下: type TAnonEvent=class public class function Wrap<T1,T2>(On ...
- 【转】apache storm 内置的定时机制
原文:http://www.cnblogs.com/kqdongnanf/p/4778672.html ------------------------------------------------ ...