xml/Json转换不适用于价格值(10.00)

2020-08-20 01:02发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正面临与XML到JSON转换有关的问题。

流为:SAP(代理)<-> SAP PO <-> REST API服务。

其中一个XML字段正在接收

"单价":" 10:00"

预期:"单价":10:00(不带引号)。 我已经使用了如下所示的xml/json转换表

我也尝试使用"整数"(十进制),它给出的值是10而不是10.00。 布尔值表示为" 10.00"。

您能建议我如何获取不带引号和十进制值(10.00)的确切值吗?

并且,如果我有" 0.0"。 它仅填充0。期望值为0.0

请在这里提出建议。

致谢

史密斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我正面临与XML到JSON转换有关的问题。

流为:SAP(代理)<-> SAP PO <-> REST API服务。

其中一个XML字段正在接收

"单价":" 10:00"

预期:"单价":10:00(不带引号)。 我已经使用了如下所示的xml/json转换表

我也尝试使用"整数"(十进制),它给出的值是10而不是10.00。 布尔值表示为" 10.00"。

您能建议我如何获取不带引号和十进制值(10.00)的确切值吗?

并且,如果我有" 0.0"。 它仅填充0。期望值为0.0

请在这里提出建议。

致谢

史密斯

付费偷看设置
发送
2条回答
木偶小白
1楼 · 2020-08-20 01:20.采纳回答

嗨,史密斯,

JSON标准没有区分数字类型。 (在此处检查数据类型: https://www.w3schools.com/js/js_json_datatypes.asp )它仅知道 "数字"。 因此,您既可以将UnitPrice值存储为"数字"(" UnitPrice":10),也可以存储为"字符串"(" UnitPrice":" 10.00")。

如果您的接收系统需要十进制,则可以 用计算,我会选择"数字"类型。 但是,正如您已经意识到的那样,REST适配器的JSON转换器确实删除了数字类型不必要的小数位(数学上的10与10.00相同)。

如果只想打印/渲染文本, 接收器端,因此有必要精确显示两位小数,或者在目标端执行string.format并放入数值(https://www.java67.com/2014/06/how-to-format-float-or-double-number- java-example.html )或使用JSON的字符串数据类型而不是数字。

简而言之:您将无法生成类似" UnitPrice"的输出:10.00,但这不应该。 会是一个问题。

暮风yp
2楼-- · 2020-08-20 01:20

感谢Raffael。 我向客户解释了同样的情况,他们同意了。 谢谢

一周热门 更多>