console.log(JSON.parse(localStorage.getItem('jsonlist')))报错Unexpected token o in JSON at position 1
时间: 2024-01-25 22:05:08 浏览: 128
Unexpected token in JSON at position 0 解析
这个错误通常发生在尝试解析一个不合法的 JSON 字符串时。根据你提供的错误信息,问题可能出在你尝试解析 `localStorage.getItem('jsonlist')` 返回的字符串时。
由于 `localStorage` 只能存储字符串类型的值,当我们存储对象或数组时,需要先将其转换为字符串。在存储时,我们可以使用 `JSON.stringify()` 方法将对象或数组转换为 JSON 字符串。在读取时,我们需要使用 `JSON.parse()` 方法将 JSON 字符串转换回原始的对象或数组。
确保按照这个顺序进行操作,即先使用 `JSON.stringify()` 进行存储,再使用 `JSON.parse()` 进行读取。
以下是一个示例,演示如何正确地存储和读取 JSON 数据到 localStorage 中:
```javascript
// 存储数据
const data = { name: 'John', age: 25 };
localStorage.setItem('jsonlist', JSON.stringify(data));
// 读取数据
const jsonString = localStorage.getItem('jsonlist');
const parsedData = JSON.parse(jsonString);
console.log(parsedData);
```
请确保在尝试解析 JSON 字符串之前,检查一下存储的值是否是一个合法的 JSON 字符串。如果存储的值不是一个有效的 JSON 字符串,那么解析过程就会失败并抛出类似于 "Unexpected token o in JSON at position 1" 的错误。
希望这能帮助你解决问题!如果还有其他疑问,请随时提问。
阅读全文