如何在JavaScript中正确解析JSON?解析JSON.parse与错误处理
大家好!我是JavaScript新手,正在编写一个小应用,从服务器获取JSON格式的数据。服务器返回一个字符串,例如:`'{"name": "John", "age": 30}'`。我尝试将其转换为对象,以便处理字段。
问题在于,有时一切正常,但有时代码会报错崩溃。我使用`JSON.parse()`,但当服务器返回意外内容(例如空字符串或无效JSON)时,应用就会崩溃。以下是我当前的代码:
```javascript
const response = '{"name": "John", "age": 30}';
const data = JSON.parse(response);
console.log(data.name); // 输出 "John"
```
但如果response是这样的:`"not valid json"`,我会得到`Uncaught SyntaxError: Unexpected token`。如何正确处理这些情况?是否需要在解析前检查数据?`JSON.parse()`和其他方法(例如`eval()`)有区别吗?我听说`eval()`很危险,但为什么呢?
希望能得到详细的解释,并附上