我正在將以下內容寫入 JSON 檔案,我想要ignore具有值的欄位,null或者blank- 在這種情況下,我想在寫入 JSON 檔案時忽略productPrice和productRating欄位,我對 NodeJS 不太熟悉 - 有人可以幫忙嗎我可以在 NodeJS 中實作這個嗎?
請在下面找到我的代碼:
const fs = require('fs');
const params = {
productID: 'prd323434',
productName: 'Google',
productDesc: 'Larum ipsum',
productPrice: null,
productRating: '',
productReview: 'Lorum ipsum'
};
var data = {
productID: params.productID,
productName: params.productName,
productDesc: params.productDesc,
productPrice: params.productPrice,
productRating: params.productRating,
productReview: params.productReview
};
let jsonContent = JSON.stringify(data);
fs.writeFileSync('test.json', jsonContent);
console.log(jsonContent)
uj5u.com熱心網友回復:
您看起來只是在過濾物件中的“虛假”值。
所以拿引數,用Object.entries它來得到這樣的東西:
[
[productID, 'prd323434'],
[productName, 'Google'],
...
]
對結果使用 filter 方法,使用([k,v]). 然后只有v在“真實”時才回傳它。
const data = Object.fromEntries(Object.entries(params).filter(([k,v]) => v))
或者也許以更易讀的方式:
const entries = Object.entries(params)
const filtered = entries.filter(([k,v]) => {
if (v === null || v === "") {
return false
} else {
return true
}
}))
const data = Object.fromEntries(filtered)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/359703.html
