JSON.parse处理字符串时发生错误

145 阅读1分钟

问题

出现报错 image.png

分析

排查后,锁定是这段代码发生错误

      state.tagList = JSON.parse(window.localStorage.getItem('tagList') || `[
        { id: "0", name: "一般",iconName:"normal"},
        { id: "1", name: "餐饮",iconName:"food"},
        { id: "2", name: "购物",iconName:"shop"},
        { id: "3", name: "服饰",iconName:"clothes"}
      ]`)

查询资料后,发现是因为其中的字符串格式不符合JSON标准格式,导致JSON.parse出现报错

解决方法

将其改成JSON标准格式

      state.tagList = JSON.parse(window.localStorage.getItem('tagList') || `[
        { "id": "0", "name": "一般","iconName":"normal"},
        { "id": "1", "name": "餐饮","iconName":"food"},
        { "id": "2", "name": "购物","iconName":"shop"},
        { "id": "3", "name": "服饰","iconName":"clothes"}
      ]`)

JSON字符串标准格式对象的key值也要用双引号括起来