在JavaScript中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。JSON可以表示简单的数据结构,例如数字、字符串、布尔值,也可以表示复杂的数据结构,例如对象和数组。
在JavaScript中,我们可以使用JSON.parse()方法将JSON字符串解析为JavaScript对象。
var jsonStr = '{"name":"Tom","age":18,"isMale":true}'; var jsonObj = JSON.parse(jsonStr); console.log(jsonObj.name); // 输出Tom
在代码中,我们首先定义了一个JSON字符串jsonStr,然后使用JSON.parse()方法将其解析为一个JavaScript对象jsonObj。最后输出jsonObj中的name属性值,结果为Tom。
在JavaScript中,我们可以使用JSON.stringify()方法将JavaScript对象序列化为JSON字符串。
var jsonObj = {name: 'Tom', age: 18, isMale: true}; var jsonStr = JSON.stringify(jsonObj); console.log(jsonStr); // 输出{"name":"Tom","age":18,"isMale":true}
在代码中,我们首先定义了一个JavaScript对象jsonObj,然后使用JSON.stringify()方法将其序列化为一个JSON字符串jsonStr。最后输出jsonStr的值,结果为{"name":"Tom","age":18,"isMale":true}。
JSON.parse()方法接受两个参数,第一个参数是要解析的JSON字符串,第二个参数是一个可选的转换函数,用于对解析出的每个属性值进行转换。
var jsonStr = '{"name":"Tom","age":"18","isMale":"true"}'; var jsonObj = JSON.parse(jsonStr, function(key, value) { if (key === 'age') { return parseInt(value); } if (key === 'isMale') { return value === 'true'; } return value; }); console.log(jsonObj.age); // 输出18 console.log(jsonObj.isMale); // 输出true
在代码中,我们首先定义了一个JSON字符串jsonStr,然后使用JSON.parse()方法将其解析为一个JavaScript对象jsonObj。同时我们传递了一个转换函数,用于将字符串类型的age属性值转换为数字类型,将字符串类型的isMale属性值转换为布尔类型。最后输出jsonObj中的age和isMale属性值,结果为18和true。
JSON.stringify()方法接受三个参数,第一个参数是要序列化的JavaScript对象,第二个参数是一个可选的转换函数,用于对序列化时每个属性值进行转换,第三个参数是一个可选的缩进选项,用于定义输出字符串的缩进格式。
var jsonObj = {name: 'Tom', age: 18, isMale: true}; var jsonStr = JSON.stringify(jsonObj, function(key, value) { if (key === 'age') { return String(value); } if (key === 'isMale') { return value ? '男' : '女'; } return value; }, 2); console.log(jsonStr); // 输出 /* { "name": "Tom", "age": "18", "isMale": "男" } */
在代码中,我们首先定义了一个JavaScript对象jsonObj,然后使用JSON.stringify()方法将其序列化为一个JSON字符串jsonStr。同时我们传递了一个转换函数,用于将数字类型的age属性值转换为字符串类型,将布尔类型的isMale属性值转换为自定义的“男”或“女”字符串。最后我们传递了一个缩进选项,用于定义输出字符串的缩进格式。最后输出jsonStr的值,结果为:
{ "name": "Tom", "age": "18", "isMale": "男" }
本文介绍了JavaScript中的JSON解析和序列化,包括JSON.parse()方法和JSON.stringify()方法的用法以及参数说明。希望本文能对读者有所帮助。
本文为翻滚的胖子原创文章,转载无需和我联系,但请注明来自猿教程iskeys.com