5

正如 Horst Keller 在他的ABAP 和 JSON帖子中提到的,“ABAP 原生支持 7.02 和 7.03/7.31 (Kernelpatch 116) JSON”。

显然 7.02 在我的情况下太通用了,因为下面的行:

writer = cl_sxml_string_writer=>create( type = if_sxml=>co_xt_json ).

返回错误:"The field CO_XT_JSON is unknown, but there is a field with the similar name CO_XT_XOP".

那么有什么方法可以轻松生成 JSON 呢?

编辑:来自 SAP 的屏幕截图 - 状态

在此处输入图像描述

在此处输入图像描述

4

5 回答 5

6

关于CL_TREX_JSON_SERIALIZER类:我在开发移动 sap 应用程序期间也使用了这个类,我发现创建的JSON 无效,因此我开始搜索并找到这个http://scn.sap.com/community/mobile/blog/2012 /09/24/serialize-abap-data-into-json-format(它还解释了如何创建有效的 JSON 序列化程序)。使用 json lint http://jsonlint.com/验证您的 json以查看它是否有效.. 否则,可以肯定的是,您在调试它为什么不工作并且不明白序列化程序已损坏时会遇到很多麻烦. 问候,zY

于 2014-01-09T07:47:59.010 回答
4

看看ZCL_MDP_JSON图书馆。您可以解析/编码任何 JSON。因此,它最适合需要灵活性的 JSON 场景。

如果您在其他语言中使用过 JSON,则很容易理解。您只需要学习ZCL_MDP_JSON_NODE一次课堂方法并查看示例。

这是该库的扩展概述:http: //scn.sap.com/community/abap/blog/2016/07/03/an-open-source-abap-json-library--zclmdpjson

带有示例目录的 GitHub 存储库:https ://github.com/fatihpense/zcl_mdp_json

免责声明:我是该项目的作者。如果您有任何问题,请随时与我联系。

于 2016-07-04T12:37:37.177 回答
3

这是我在 ABAP 中包含新功能之前为 ABAP 数据 <-> JSON 转换编写的一些代码(或者它可能只是一个较旧的系统)。

https://gist.github.com/mydoghasworms/2291540

在您的 ABAP 源代码中包含代码并使用data_to_json该类的方法。

于 2014-01-13T08:16:04.310 回答
3

自定义 ABAP <-> JSON 序列化器的一个很好的概述,包括另一个,可以在这篇博文中找到

从我的角度来看,最受欢迎的是SE38 的 ZJSON 库,它可以使用 SAPLINK 安装(并且 - 与许多其他库相比)附加了明确的许可证:Apache 2.0

于 2016-07-07T10:28:15.190 回答
1

如果短期内无法升级到较新的补丁,您还可以使用类CL_TREX_JSON_SERIALIZER将对象序列化为 JSON。有点快速和肮脏的解决方案,但效果很好。

于 2013-05-02T15:37:28.053 回答