ES10 中新增的 JSON superset 方法:JSON.stringify() 和 JSON.parse()
在前端开发中,JSON 是一种常用的数据格式,它具有轻量、易读、易解析等优点,被广泛应用于数据交互和存储。在 ES10 中,JSON superset 方法新增了两个方法:JSON.stringify() 和 JSON.parse(),这两个方法为我们处理 JSON 数据带来了更多的便利性和灵活性。
JSON.stringify()
JSON.stringify() 方法用于将 JavaScript 对象转换为 JSON 字符串。它可以接受三个参数:要转换的对象、转换函数和缩进空格数。
转换对象
我们可以将一个 JavaScript 对象转换为 JSON 字符串,如下所示:
const obj = { name: 'Tom', age: 18 }; const jsonStr = JSON.stringify(obj); console.log(jsonStr); // {"name":"Tom","age":18}
转换函数
我们可以通过传入一个转换函数,对对象的属性进行特殊处理,如下所示:
const obj = { name: 'Tom', age: 18 }; const jsonStr = JSON.stringify(obj, (key, value) => { if (key === 'name') { return value.toUpperCase(); } return value; }); console.log(jsonStr); // {"name":"TOM","age":18}
缩进空格数
我们可以通过传入一个整数,控制 JSON 字符串的缩进空格数,如下所示:
const obj = { name: 'Tom', age: 18 }; const jsonStr = JSON.stringify(obj, null, 2); console.log(jsonStr); // { // "name": "Tom", // "age": 18 // }
JSON.parse()
JSON.parse() 方法用于将 JSON 字符串转换为 JavaScript 对象。它可以接受两个参数:要转换的 JSON 字符串和转换函数。
转换 JSON 字符串
我们可以将一个 JSON 字符串转换为 JavaScript 对象,如下所示:
const jsonStr = '{"name":"Tom","age":18}'; const obj = JSON.parse(jsonStr); console.log(obj); // { name: 'Tom', age: 18 }
转换函数
我们可以通过传入一个转换函数,对对象的属性进行特殊处理,如下所示:
const jsonStr = '{"name":"Tom","age":18}'; const obj = JSON.parse(jsonStr, (key, value) => { if (key === 'name') { return value.toUpperCase(); } return value; }); console.log(obj); // { name: 'TOM', age: 18 }
总结
ES10 中新增的 JSON superset 方法:JSON.stringify() 和 JSON.parse(),为我们处理 JSON 数据带来了更多的便利性和灵活性。我们可以通过 JSON.stringify() 方法将 JavaScript 对象转换为 JSON 字符串,并可以通过传入转换函数和缩进空格数进行特殊处理和格式化输出。我们也可以通过 JSON.parse() 方法将 JSON 字符串转换为 JavaScript 对象,并可以通过传入转换函数进行特殊处理。
这两个方法的使用非常简单,但是它们的灵活性却非常强大,可以根据实际需求进行不同的处理。对于前端开发人员来说,熟练掌握这两个方法,可以提高开发效率和代码质量。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6638052ad3423812e461876a