【问题标题】:how to ignore null or blank value while writing to JSON using NodeJS使用 NodeJS 写入 JSON 时如何忽略空值或空白值
【发布时间】:2021-11-17 03:19:44
【问题描述】:

我正在将以下内容写入 JSON 文件,我想 ignore 具有值 nullblank 的字段 - 在这种情况下,我想在写入时忽略 productPriceproductRating 字段到 JSON 文件,我对 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)

【问题讨论】:

    标签: node.js json


    【解决方案1】:

    您看起来只是在过滤对象以获取“虚假”值。

    所以带上参数,在上面使用Object.entries 得到这样的东西:

    [
     [productID, 'prd323434'],
     [productName, 'Google'],
     ...
    ]
    

    对结果使用过滤器方法,使用([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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2019-05-07
      相关资源
      最近更新 更多