在JavaScript中安全地将JSON字符串转换为对象
大家好!我是JavaScript新手,遇到了一个问题。我从服务器获取JSON格式的数据,但当我尝试使用JSON.parse()将字符串转换为对象时,有时能正常工作,有时却会报错。以下是我的代码示例:
```javascript
const data = '{"name": "John", "age": 30}';
const obj = JSON.parse(data);
console.log(obj.name); // John — 正常工作
```
但如果服务器返回的字符串是这样的:
```javascript
const badData = '{name: "John", age: 30}'; // 键没有引号
const obj = JSON.parse(badData); // 抛出SyntaxError
```
或者服务器以普通文本形式返回错误:
```javascript
const errorResponse = 'Internal Server Error';
const obj = JSON.parse(errorResponse); // 同样报错
```
我的程序直接崩溃了,我不知道如何处理。我读到过应该使用try/catch,但不确定如何正确使用。也许有更安全的方法?比如某些库或其他功能?