2013-04-22 81 views
1

正如霍斯特·凯勒在他ABAP and JSON文章中提到,“与发布7.02和7.03/7.31(Kernelpatch 116)JSON的原生支持在ABAP”。如何编码JSON在ABAP

Appartently 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 - 状态

enter image description here

enter image description here

+0

好,哪个补丁级别是你吗? – vwegert 2013-04-22 19:04:04

+0

不知道应该在什么7.02组件。 – 2013-04-23 07:15:51

+0

检查系统 - >状态的完整补丁级别。 – vwegert 2013-04-23 07:21:40

回答

0

如果升级到更新的补丁是不会在短期内的选项,你也可以使用CL_TREX_JSON_SERIALIZER类连载对象到JSON。一点点的快速和肮脏的解决方案,但它运作良好。

+0

谢谢,我会看看它。 – 2013-05-02 17:37:11

3

关于类CL_TREX_JSON_SERIALIZER:深化发展移动SAP应用程序过程中我也用这个班,我发现创建JSON不是有效,所以我就开始使用Google,发现这个http://scn.sap.com/community/mobile/blog/2012/09/24/serialize-abap-data-into-json-format(这也解释了如何创建有效的JSON序列化程序)。 使用json lint http://jsonlint.com/验证您的json以查看它是否有效。否则,那肯定会在调试时遇到很多麻烦,为什么它能够工作并且没有得到序列化器已损坏的观点。问候,zY

1

看一看的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

免责声明:我这个项目的作者。如果您有任何疑问,请不要犹豫与我联系。

1

定制ABAP的很好的概述< - > JSON序列化,包括另一个人可以在this blog post

最热门从我的角度来看可以发现是SE38's ZJSON-library可使用SAPLINK(和其上安装的 - 对比许多其他的)连有一个明确的许可证:Apache 2.0的