json.parse()代替写法错误处理
时间: 2023-11-16 16:30:04 浏览: 33
`JSON.parse()`函数在处理无效的JSON格式字符串时会抛出SyntaxError异常,因此在使用它时需要在代码中进行错误处理,以避免程序崩溃。
以下是一个使用try-catch语句来捕获JSON.parse()函数抛出的异常的例子:
```
const jsonString = '{name: "John", age: 30, city: "New York"}';
try {
const obj = JSON.parse(jsonString);
console.log(obj);
} catch (error) {
console.error(error);
}
```
在这个例子中,由于JSON格式的字符串中的属性名没有用双引号括起来,因此它是无效的JSON格式字符串,会导致`JSON.parse()`函数抛出一个SyntaxError异常。由于我们使用了try-catch语句来捕获异常并输出到控制台,程序就不会崩溃。
另外,我们可以使用第二个参数来设置一个reviver函数,用于转换解析后的对象。例如:
```
const jsonString = '{"name":"John", "age":30, "city":"New York"}';
const obj = JSON.parse(jsonString, (key, value) => {
if (key === "age") {
return value + 10;
} else {
return value;
}
});
console.log(obj.age); // Output: 40
```
在这个例子中,我们将解析后的对象中的age属性的值加上了10。