猿问

JSON Stringfy只有一些属性

我有这个对象:


{

    name: "",            

    email: "",

    phone: "",

    protocol: "",

    area: "",

    subject: "",

    message: "",

    validation: this.validator.valid()

}

我想将其转换为JSON,但是我不想要该validation属性。


我已经尝试了以下方法:


const test = JSON.stringify(this.state);

delete test.validation;

还有其他方法吗?


FFIVE
浏览 152回答 3
3回答

暮色呼如

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从任何子对象中删除密钥,这可能是您想要的,也可能不是。

吃鸡游戏

会工作的。const { validation, ...rest } = this.state;JSON.stringify(rest);

炎炎设计

实际上,这非常简单。我在这里找到了解决方案。以下几行解决了我的问题:const formSubmit = JSON.stringify(this.state, ['name', 'email', 'phone', 'protocol','area','subject', 'message']);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答