云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

美国服务器_香港新世界服务器_促销

小七 141 0

更新日期:2020年7月10日-增加了使用NUM\u to\u String参数将数字转换为字符串的功能。

简介:

我最近在SAP 7.4中尝试将XML转换为以下格式的JSON,还尝试从XML结构中删除某些标记,并强制将一些节点作为JSON数组。

我们可以在服务器上轻松地将XML转换为JSON休息频道。但是,在SAP PI/PO中有许多限制。

此外,高防云服务器,在SAP PO 7.5中,我们可以通过在REST接收器通道的"setIgnoredElements"中列出标记来轻松删除密钥名称。但是,SAP PI 7.4及以下版本不提供此自由。自定义XML到JSON转换bean在这里也没有太大帮助,特别是如果您希望从JSON结构中删除节点的话。因此,我已经实现了一个通用的Java映射,可以用来实现这一点和许多其他任务。

这个博客关注使用Java映射的XML到JSON的转换,云主机,还提供了自由发挥结构。

这可以在任何SAP PI/PO版本中使用。

使用此映射的好处:

将XML转换为JSON强制将JSONObject转换为JSONArray在JSON结构中隐藏标记名从JSON结构中删除键值对(&V)在JSON结构中弹出初始标记将JSON根标记转换为数组将数字转换为字符串

示例在下面的实现部分后面进一步说明。

实现:

步骤1:-获取JAVA映射JAR文件

您可以从这里直接下载zip文件并解压缩。

此zip包含2个JAR文件。将SAP ESR中的2个jar文件作为导入档案导入。

请注意Java映射使用org.json.XML文件java库将XML转换为JSON,因此如果它不在您的SAP库中,您将收到missing'org.json.XML文件'错误。所以也要导入orgXmlJson jar文件。

第2步:-在操作映射中使用java映射

第3步:-在操作映射中定义5个导入参数。

ARRAY_NODES–Simple Type-xsd:字符串删除条目-简单类型-xsd:字符串隐藏\u键-简单类型-xsd:字符串最后一级保留-简单类型-xsd:内部NUM_TO_STRING–简单类型-xsd:字符串

第4步:-在操作映射中定义JAVA映射绑定如下:

第5步:-在集成配置中根据需要为这些参数赋值

第6步:-(可选)如果您使用的是REST通道,别忘了在接收通道中设置数据为JSON

就完成了。

了解参数:

数组\u节点:这是字符串数据类型。包括要转换为数组的根标记在内的所有标记都可以作为用逗号分隔的列表在此处传递。E、 g.ARRAY\u NODES=根、节点1、节点4如果您不想将任何节点转换为JSON中的数组,请将字段保留为空。

隐藏\u键:这是字符串数据类型如果希望隐藏标记名并只将等效值传递给JSON结构,则将所有标记名作为列表(用逗号分隔)传递给此字段。E、 g.HIDE_KEYS=node2,根如果您不想在JSON中隐藏任何键,请将字段保留为空。

删除\u项:这是字符串数据类型如果您想从JSON结构中删除一个标记及其值,那么将所有这样的标记名作为一个用逗号分隔的列表传递给这个字段。E、 g.删除\u ENTRY=node5,node6如果您不想删除任何条目,请将字段保留为空。

最后一级保留:这是整数数据类型如果希望从XML层次结构中删除初始标记并保留子节点,则将级别号传递给此字段值0表示不删除任何级别。(默认值)值1意味着从结构中完全删除根节点,并将其子节点保留在JSON结构中。E、 g.LAST \u LEVEL \u TO \u KEEP=2(这将从XML/JSON结构中删除前2个级别)如果不想删除任何条目,大数据app,则将字段设置为0.

NUM\u to\u STRING:这是布尔数据类型。如果要将输出JSON结构中的所有数字转换为字符串,请将此变量设置为"true"。将此设置为true将导致所有数字(integer、float、long、short、double)在输出JSON格式中使用双引号。默认值为"假"。

如何设置参数值?

现在让我们了解如何设置参数值。下面是一些有助于理解相同的示例。

示例XML:

示例1:如果设置了参数的默认值。

示例2:隐藏根标记并将数据作为JSON数组发送。同时,删除JSON结构中的namespace标记,将node5设置为JSON Array

示例3:删除级别1即根标记级别,生态环境大数据,始终将node1保留为JSON Array(即使找到一条记录),隐藏node1 key并删除namespace属性。另外,将数字转换成字符串格式。

源代码:

如果您是从上面的链接导入代码,永久免费自助建站平台,您不必担心源代码。但是为了您的好奇心和理解,我们提供了下面的源代码。一定要看一眼,并提供建议和反馈。

您也可以在这里找到代码。

这是我如何处理我的转换使用通用和可重用的自定义java映射,能够处理XML到JSON的转换。希望这段代码能帮助那些遇到过类似情况的人。

请务必让我知道您是否以任何其他优化方式处理过这种情况!!