在 JavaScript 中,我们可以使用 JSON 对象提供的两个方法来进行 JSON 数据和 JavaScript 对象之间的转换,分别为 JSON.parse()
和 JSON.stringify()
方法。
JSON.parse()
方法:
该方法用于将 JSON 字符串转换为 JavaScript 对象,其语法结构如下:
JSON.parse(text [, reviver])
其中,text
参数为要转换的 JSON 字符串;reviver
参数为一个可选的回调函数,用于在将 JSON 某个键值对转换为相应的 JavaScript 值时,自定义数据转换的行为。该回调函数接受两个参数:键和值。如果未指定 reviver
参数,则默认将所有值转换为字符串形式。
例如,下面的代码将 JSON 字符串转换为 JavaScript 对象:
const jsonString = '{"name": "John", "age": 30, "isMarried": false}'; const data = JSON.parse(jsonString); console.log(data.name); // 输出 "John" console.log(data.age); // 输出 30 console.log(data.isMarried); // 输出 false
JSON.stringify()
方法:
该方法用于将 JavaScript 对象转换为 JSON 字符串,其语法结构如下:
JSON.stringify(value [, replacer [, space]])
其中,value
参数为要转换的 JavaScript 对象;replacer
参数为可选的转换器,可以是一个数组或一个函数,用于筛选某些键值对或者自定义键值的转换方式;space
参数为可选的缩进字符串或者数字,用于指定输出的格式。如果未指定 replacer
或 space
参数,则默认将所有值转换为字符串形式。
例如,下面的代码将 JavaScript 对象转换为 JSON 字符串:
const data = { name: 'John', age: 30, isMarried: false }; const jsonString = JSON.stringify(data); console.log(jsonString); // 输出 "{"name":"John","age":30,"isMarried":false}"
总而言之,使用 JSON 对象提供的两个方法,我们可以很方便地进行 JSON 数据和 JavaScript 对象之间的转换,并且可以自定义转换的方式和格式。