当我们获取API返回数据或者前端传输数据时,常常会遇到JSON格式的字符串,如果我们要将其转换成JavaScript对象,就需要使用JSON的parse()
方法。下面就来详细讲解一下parse()
方法的使用。
JSON的parse()方法介绍
在 JavaScript 中,JSON.parse()
方法将 JSON 字符串转换为 JavaScript 对象。JSON.parse() 方法解析的 JSON 字符串必须是有效的,否则它会抛出 SyntaxError 错误。
语法
JSON.parse(text, reviver)
- text: 必须, 要被解析成 JavaScript 对象的 JSON 字符串。
- reviver: 可选,2个参数:key:value,转变过程可以被控制。如果传递了 reviver 函数,则解析出的 JavaScript 对象的每个键值对都将经过该函数处理然后返回。
实例
以下是一个JSON格式的字符串:
var jsonStr = `{"name": "小明", "age": 18, "sex": "男"}`;
我们可以使用JSON.parse()
方法将其转换为JavaScript对象:
var jsonObj = JSON.parse(jsonStr);
console.log(jsonObj);
// 输出:{name: "小明", age: 18, sex: "男"}
当然,如果传递了reviver
参数,我们还可以控制解析出的JavaScript对象的每个键值对的值的类型或者做一些额外的数据处理。比如下面这个例子:
var jsonString = `{"name": "小美", "age": "18", "student": true}`;
var jsonObj = JSON.parse(jsonString, (key, value) => {
if (key === 'age') {
return Number(value); // 将age属性的值转换为数字类型
} else {
return value; // 其他属性的值不做处理直接返回
}
})
console.log(jsonObj);
// 输出:{name: "小美", age: 18, student: true}
在这个例子中,我们传递了一个reviver
函数作为JSON.parse()
方法的第二个参数。该函数接受两个参数:key
和value
,并且返回处理后的结果。在这个例子中,在reviver
函数中,我们判断了key
的值是否为age
,如果是,则将其转换成数字类型,否则返回原本的value
。
另外需要注意的是,JSON.parse() 方法还有一个有用的方面,它可以帮助我们处理 JSONP 跨域的响应。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JSON的parse()方法介绍 - Python技术站