Azure 逻辑应用程序 - JSON 解析 - 十进制类型解析为整数
Azure Logic Apps - JSON Parsing - Decimal type parsed as Integer
我正在使用 Azure 逻辑应用程序,其中一个步骤是解析 API JSON 响应。我正在上传有效负载以生成架构。
我的属性之一是 Tax 的小数类型,具体在 JSON 中为“Number”类型
我的来源 JSON 中的值是这样产生的……
"TaxAmount": 999.00
然而,当它被解析时,它被设置为“整数”
当我将值更改为...
"TaxAmount": 999.01
它将正确显示为“数字”类型
有没有一种方法可以定义 999.00 的值并将其解析为“数字”而不是“整数”?
如有任何帮助,我们将不胜感激
一种解决方法是在解析时直接(即手动)更改变量的类型。像
至
很遗憾,没有。
Some programming languages and parsers use different internal
representations for floating point numbers than they do for integers.
For consistency, integer JSON numbers SHOULD NOT be encoded with a
fractional part.
https://json-schema.org/draft/2020-12/json-schema-core.html#integers
请注意,这是不应该的,因此可能是允许的。
但是,考虑一下,实现的行为可能不同。
“不应该”的意思是,“除非你有充分的理由,否则你真的不应该这样做,如果你这样做,最好记录下来”。
如果需要,请考虑将数字编码为字符串并使用正则表达式进行验证。
我正在使用 Azure 逻辑应用程序,其中一个步骤是解析 API JSON 响应。我正在上传有效负载以生成架构。
我的属性之一是 Tax 的小数类型,具体在 JSON 中为“Number”类型 我的来源 JSON 中的值是这样产生的……
"TaxAmount": 999.00
然而,当它被解析时,它被设置为“整数”
当我将值更改为...
"TaxAmount": 999.01
它将正确显示为“数字”类型
有没有一种方法可以定义 999.00 的值并将其解析为“数字”而不是“整数”?
如有任何帮助,我们将不胜感激
一种解决方法是在解析时直接(即手动)更改变量的类型。像
至
很遗憾,没有。
Some programming languages and parsers use different internal representations for floating point numbers than they do for integers.
For consistency, integer JSON numbers SHOULD NOT be encoded with a fractional part.
https://json-schema.org/draft/2020-12/json-schema-core.html#integers
请注意,这是不应该的,因此可能是允许的。 但是,考虑一下,实现的行为可能不同。 “不应该”的意思是,“除非你有充分的理由,否则你真的不应该这样做,如果你这样做,最好记录下来”。
如果需要,请考虑将数字编码为字符串并使用正则表达式进行验证。