一、JSON是什么?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于理解和使用。它基于JavaScript语法的子集,与之兼容,因此在JavaScript中处理JSON数据特别容易。JSON数据格式包含键值对,类似于JavaScript对象,但是它们必须是双引号引起来的字符串。这使得JSON数据易于阅读和编写,并且易于解析和生成。
将JavaScript对象转化为JSON可将其传输或保存,以便后续访问。下面是一个简单的JavaScript对象:
var person = { "name": "John", "age": 30, "city": "New York" };
可以将该对象转化为JSON格式:
{ "name": "John", "age": 30, "city": "New York" }
二、JSON.stringify()
JavaScript中有一个内置函数JSON.stringify()可以将JavaScript对象转化为JSON字符串。JSON.stringify()函数可以接受3个参数:要转化的JavaScript对象、用于将JavaScript对象转化为JSON字符串的函数、以及一个选项对象。
如果第二个参数是一个函数,则在JavaScript对象被转化为JSON字符串之前,该函数将被应用于JavaScript对象的每个成员。如果第三个参数是一个数值,则输出的JSON字符串将使用该数值进行缩进。
以下代码使用JSON.stringify()函数将JavaScript对象转化为JSON字符串:
var person = { name: "John", age: 30, city: "New York" }; var json = JSON.stringify(person); console.log(json); // 输出:{"name":"John","age":30,"city":"New York"}
三、JSON.parse()
JSON.parse()函数用于将JSON字符串转化为JavaScript对象。它只接受一个参数,即要被转化为JavaScript对象的JSON字符串。
以下代码展示如何使用JSON.parse()函数将JSON字符串转化为JavaScript对象:
var json = '{"name":"John","age":30,"city":"New York"}'; var person = JSON.parse(json); console.log(person.name); console.log(person.age); console.log(person.city); // 输出:John 30 New York
四、代码示例
下面是一个完整的JavaScript示例,展示了如何使用JSON.stringify()函数和JSON.parse()函数:
var person = { name: "John", age: 30, city: "New York" }; // 将JavaScript对象转化为JSON字符串 var json = JSON.stringify(person); console.log(json); // 输出:{"name":"John","age":30,"city":"New York"} // 将JSON字符串转化为JavaScript对象 var personAgain = JSON.parse(json); console.log(personAgain.name); console.log(personAgain.age); console.log(personAgain.city); // 输出:John 30 New York
五、总结
在JavaScript中将对象转化为JSON格式非常容易。只需使用JSON.stringify()函数将JavaScript对象转化为JSON字符串,使用JSON.parse()函数将JSON字符串转化为JavaScript对象即可。