【问题标题】:keep json nodes optional in a request payload在请求有效负载中保持 json 节点可选
【发布时间】:2021-09-27 11:43:01
【问题描述】:

我正在尝试创建 json 请求正文。其中大多数字段是可选的。如果为它们定义了值,我想保留它们,如果它们未定义,我想删除它们。

 
let payalod = data {
id: 1,
type: "sale"
name: undefined // optional 
}

我想保持 name 属性是可选的。表示如果该值未定义,我们可以在发送请求之前删除 if。 如果猜猜它可以用一个来实现?唱歌(可选链接)。但无法获取语法。

任何人都可以帮助我使用可选的链接方法 TIA。

【问题讨论】:

    标签: javascript json object


    【解决方案1】:

    你可以这样做(Hide null values in output from JSON.stringify()):

    data = {id: 1, type: "sale", name: undefined}
    
    var payload = JSON.parse(JSON.stringify(data, (key, value) => {
        if (value !== null) return value
    }))
    

    【讨论】:

      【解决方案2】:

      你可以遍历对象和delete未定义的属性:

      let payload = {
        "id": 1,
        "type": "sale",
        "name": undefined // optional 
      };
      
      for (var key of Object.keys(payload)) {
          if (!payload[key]) {
            delete payload[key];
          }
      };
      
      console.log(payload);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-14
        • 1970-01-01
        • 2021-12-08
        • 2014-09-23
        • 2020-04-30
        相关资源
        最近更新 更多