介绍
JSON.parse()
和 JSON.stringify()
是 JavaScript 中用于处理 JSON 格式数据的两个核心方法。
JSON.parse()
: 用于将 JSON 字符串解析为 JavaScript 对象。JSON.stringify()
: 用于将 JavaScript 对象转换为 JSON 字符串。
JSON.parse()
JSON.parse()
方法将 JSON 字符串解析为 JavaScript 对象。它接受一个 JSON 字符串作为参数,并返回与该字符串对应的 JavaScript 对象。
const jsonString = '{"name": "John", "age": 30}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject); // { name: 'John', age: 30 }
console.log(jsonObject.name); // John
console.log(jsonObject.age); // 30
JSON.parse('{}') // {}
JSON.parse('true') // true
JSON.parse('null') // null
//该方法也支持数字、布尔值和null三个类型的值,转换出对应的字面值。不支持其他类型。
JSON.parse('"前端"')// '前端'
JSON.parse(null) // null
JSON.parse(111.) // 111
JSON.parse(0x12) // 18
JSON.parse(true) // true
JSON.parse([])// Uncaught SyntaxError: Unexpected end of JSON input
//字符串必须使用双引号,不能使用单引号
JSON.parse('"String"') // 'String'
JSON.parse('\'String\'') // Uncaught SyntaxError: Unexpected token ' in JSON at position 0
//只支持十进制的字符串,但小数点后必须跟上数字
JSON.parse('111') // 111
JSON.parse('0x12')
// Uncaught SyntaxError: Unexpected token x in JSON at position 1
JSON.parse('111.232') // 111.232
JSON.parse('111.')
// Uncaught SyntaxError: Unexpected end of JSON input
....
JSON.stringify()
JSON.stringify()
方法将 JavaScript 对象转换为 JSON 字符串。它接受一个 JavaScript 对象作为参数,并返回对应的 JSON 字符串。
const obj = { name: 'John', age: 30 };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // '{"name":"John","age":30}'
//基本类型值字符串、数字、布尔值,以及String、Boolean、Number对象值,都会转成原始值字符串输出
JSON.stringify(111) // '111'
JSON.stringify(new String('111')) //'"111"'
JSON.stringify(false) // 'false'
JSON.stringify(Boolean(true)) // 'true'
//基本类型的字符串,转换结果会带双引号。 因为在还原时,双引号会让JavaScript知道是字符串,而不是变量。
JSON.stringify('json') === 'json' // false
JSON.stringify('json') === '"json"' // true
.....
使用场景
数据传输: 在客户端和服务器之间传输数据时,通常会使用 JSON 格式。你可以使用
JSON.stringify()
将 JavaScript 对象转换为 JSON 字符串,然后通过网络发送到服务器,服务器收到后再使用JSON.parse()
将 JSON 字符串解析为 JavaScript 对象。存储数据: 当需要将 JavaScript 对象保存到本地存储(如浏览器的本地存储或数据库)时,通常需要将其转换为 JSON 格式。这样做可以确保数据的序列化和反序列化过程安全可靠。
与其他系统交互: 当与其他系统进行交互时,如果它们使用的是 JSON 格式作为数据交换的标准,你需要将 JavaScript 对象转换为 JSON 字符串进行发送,并在接收到数据后将 JSON 字符串解析为 JavaScript 对象。
总的来说,JSON.parse()
和 JSON.stringify()
是处理 JSON 格式数据的基本工具,它们在数据传输、存储和与其他系统交互等方面都有广泛的应用。
我这里只是基本使用,更详细的内容大家可以搜索进行了解。
我也是一个入行比较短的小白,有不对的地方可以指正交流哦!