JSON.parse()
JSON.parse() 方法
JSON.parse() 方法用于解析 JSON 格式的字符串,将其转换为 JavaScript 对象。
语法
JSON.parse(text[, reviver])
参数
-
text:必选参数,一个符合 JSON 语法的字符串。
-
reviver:可选参数,如果是一个函数,则可以对返回值进行处理。
返回值
JSON.parse() 方法返回一个 JavaScript 对象。如果解析失败,将会抛出异常。
示例
假设我们有一个 JSON 格式的字符串:
const jsonStr = '{"name": "Alice","age": 18}';
可以调用 JSON.parse() 方法将其转换为 JavaScript 对象:
const jsonObj = JSON.parse(jsonStr);
此时,我们可以通过获取键来获取对象的值:
console.log(jsonObj.name); // 输出 "Alice"
console.log(jsonObj.age); // 输出 18
转换格式
JSON.parse() 方法可以将 JSON 格式的字符串转换为 JavaScript 对象,可以看做一个格式转换的过程。
例如,我们可以将 JavaScript 对象转换为 JSON 格式的字符串:
const obj = {name: "Bob", age: 20};
const jsonStr = JSON.stringify(obj);
console.log(jsonStr); // 输出 {"name":"Bob","age":20}
错误处理
JSON.parse() 方法解析失败时,将会抛出一个异常。因此在使用该方法时需要进行错误处理。
例如,我们可以使用 try…catch 语句来处理异常:
try {
const jsonObj = JSON.parse('{"invalid JSON}');
} catch (e) {
console.log("JSON.parse error: " + e.message);
}
reviver 参数
JSON.parse() 方法的第二个参数 reviver 是可选参数,它是一个函数,可以对返回值进行处理。
例如,我们可以对返回值进行一些修改:
const jsonObj = JSON.parse('{"name": "Charlie","age": 30}', function (key, value) {
if (key === 'age') {
return value + 10;
}
return value;
});
console.log(jsonObj.age); // 输出 40
上面的代码中,我们对 age 的值进行了修改。
总结
JSON.parse() 方法将 JSON 格式的字符串转换为 JavaScript 对象。该方法使用简单,但需要注意解析失败时会抛出异常,因此需要进行错误处理。reviver 参数是可选的,可以对返回值进行处理。