【发布时间】:2019-08-23 20:05:14
【问题描述】:
我有一个 NodeJS Express 代码,它只是以请求-响应格式将数据从客户端传递到我的后端服务器。 现在我的客户期望 JSON 响应中的美元金额为双精度数据类型。 我如何动态地做到这一点。 例如下面,
var data = [
{
"feeType":"Trip",
"feeCategory":"Transaction",
"feeAmount":0,
"isApplicable":true,
"isRequired":true,
"applicableDeliveryType":"None",
"appliedFeeAmount":0
},
{
"feeType":"FerryFee",
"feeCategory":"Passenger",
"feeAmount":2,
"isApplicable":true,
"isRequired":false,
"applicableDeliveryType":"None",
"appliedFeeAmount":2
},
{
"feeType":"WillCall",
"feeCategory":"Service",
"feeAmount":0,
"isApplicable":false,
"isRequired":false,
"applicableDeliveryType":"Pickup",
"appliedFeeAmount":0
},
{
"feeType":"NotTravelling",
"feeCategory":"Service",
"feeAmount":0,
"isApplicable":false,
"isRequired":false,
"applicableDeliveryType":"PrintAtHome",
"appliedFeeAmount":0
},
{
"feeType":"Pickup",
"feeCategory":"Delivery",
"feeAmount":0,
"isApplicable":false,
"isRequired":false,
"applicableDeliveryType":"None",
"appliedFeeAmount":0
},
{
"feeType":"PrintAtHome",
"feeCategory":"Delivery",
"feeAmount":0,
"isApplicable":false,
"isRequired":false,
"applicableDeliveryType":"None",
"appliedFeeAmount":0
}
]
我的客户期望使用 .0 或十进制数字的数值。我该怎么做?
【问题讨论】:
-
泷的回答是正确的;只是想指出您的输出不是 JSON 而是一个对象,并且您不是要更改数据类型,而是要更改格式。 JavaScript 中没有“双”数据类型。
-
JSON没有double数据类型,只有数字类型,
36.0和36等价。 -
您的最终目标是什么?没有理由将整数序列化为小数,这只会在您发送或接收数据时不必要地增加传输大小。如果您打算以某种方式显示数据,您只需在将数字插入视图时调用
toFixed()。
标签: javascript arrays node.js json