javascript - 在请求有效负载中保持 json 节点可选
问题描述
我正在尝试创建 json 请求正文。其中大多数字段是可选的。如果为它们定义了值,我想保留它们,如果它们未定义,我想删除它们。
let payalod = data {
id: 1,
type: "sale"
name: undefined // optional
}
我想保持 name 属性是可选的。表示如果该值未定义,我们可以在发送请求之前删除 if。如果猜猜它可以用一个来实现?唱歌(可选链接)。但无法获得语法。
任何人都可以帮助我使用可选的链接方法 TIA。
解决方案
您可以这样做(在 JSON.stringify() 的输出中隐藏空值):
data = {id: 1, type: "sale", name: undefined}
var payload = JSON.parse(JSON.stringify(data, (key, value) => {
if (value !== null) return value
}))
推荐阅读
- jquery - 删除索引大于点击的元素
- cloud - 恢复 Google Cloud 项目
- reactjs - 使用 Storyshot 渲染 React Portal 时出错
- amazon-redshift - 在 Pentaho 数据集成中使用 DISTSTYLE ALL 创建表会引发 DISTKEY 兼容性错误
- angular - 数据关闭模式在单击提交时无法以角度工作
- javascript - 在 $(".sim-row-edit").mousedown 上显示右键菜单
- android - E/BitmapFactory:无法解码流:java.io.FileNotFoundException for(没有这样的文件或目录)
- npm - Npm 不工作,即使它显示版本
- mongodb - 查找与多个点相交的多个多边形
- shopify - Shopify 粗体应用无法验证地址