[英]How to convert the data type in JSON nodejs
我有一個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或十進制數。 我怎樣才能做到這一點?
使用Object.entries
循環.toFixed()
對象並使用.toFixed()
添加小數:
const 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 } ] const result = data.map(o => Object.entries(o).reduce((acc, [key, value]) => { acc[key] = typeof value.toFixed === 'function' ? value.toFixed(1) : value; return acc; }, {})) console.log(result);
或者for .. in
:
const 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 } ] const result = []; data.forEach(o => { const tempObj = {}; for (let key in o) { tempObj[key] = typeof o[key].toFixed === 'function' ? o[key].toFixed(1) : o[key]; } result.push(tempObj); }); console.log(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.