为了账号安全,请及时绑定邮箱和手机立即绑定

JSON Stringfy只有一些属性

JSON Stringfy只有一些属性

FFIVE 2021-05-11 13:14:45
我有这个对象:{    name: "",                email: "",    phone: "",    protocol: "",    area: "",    subject: "",    message: "",    validation: this.validator.valid()}我想将其转换为JSON,但是我不想要该validation属性。我已经尝试了以下方法:const test = JSON.stringify(this.state);delete test.validation;还有其他方法吗?
查看完整描述

3 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

JSON.stringify需要一个可以使用的替换回调。replacer函数使用一个键k,并将值v字符串化为参数。返回undefined将具有不将键包含在最终结果中的效果:

state = {

    name: "",            

    email: "",

    phone: "",

    protocol: "",

    area: "",

    subject: "",

    message: "",

    validation: "some val"

}


const test = JSON.stringify(state, (k, v) => k != 'validation' ? v : undefined);


console.log(test)

注意:像这样使用它也会validation从任何子对象中删除密钥,这可能是您想要的,也可能不是。


查看完整回答
反对 回复 2021-05-27
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

会工作的。


const { validation, ...rest } = this.state;

JSON.stringify(rest);


查看完整回答
反对 回复 2021-05-27
?
炎炎设计

TA贡献1808条经验 获得超4个赞

实际上,这非常简单。我在这里找到了解决方案。以下几行解决了我的问题:

const formSubmit = JSON.stringify(this.state, ['name', 'email', 'phone', 'protocol','area','subject', 'message']);


查看完整回答
反对 回复 2021-05-27
  • 3 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信