如何将API返回对象转为JSON时仅保留date、value指定字段
只保留指定字段转换为JSON的几种方法
嗨,这个需求太常见了!不用纠结,给你几个简单高效的解决方案:
手动构建过滤后的对象(最直观,适合字段少的场景)
先从返回的对象里提取你需要的date和value,构建一个新对象,再转成JSON:// 假设这是API返回的对象 const returnedObject = { date: '2024-05-20', value: 150, 'useless-info': 'abc', 'useless-info-2': 'def' }; // 只保留需要的字段 const filteredObj = { date: returnedObject.date, value: returnedObject.value }; // 转换为JSON const filteredJson = JSON.stringify(filteredObj);用ES6解构赋值简化代码(更优雅的写法)
利用解构直接提取目标字段,再快速生成新对象:const { date, value } = returnedObject; const filteredJson = JSON.stringify({ date, value });这种写法代码更简洁,尤其当你需要保留的字段不多时,可读性很强。
直接用JSON.stringify的replacer参数(一步到位,无需额外对象)
JSON.stringify本身就支持第二个参数(replacer),传一个包含要保留键名的数组就行,它会自动过滤掉其他字段:const filteredJson = JSON.stringify(returnedObject, ['date', 'value']);这个方法最省事,不用额外处理对象,直接完成过滤+转JSON的操作。
如果你的API返回里date或value可能存在缺失的情况,还可以给字段加个默认值,比如date: returnedObject.date || '',避免转出来的JSON里出现null(不过JSON.stringify会自动忽略undefined的字段哦)。
内容的提问来源于stack exchange,提问作者Smokey Dawson
相关产品推荐
相关产品推荐

