JSON.parse Expected property name or '}' in JSON at position 1
一、背景
前端提交时,需要先判断提交的是否是json格式
在实际执行中发现,提交的是json格式,但一直判定不是
经过搜索发现JSON.parse不支持单引号
二、代码
isJson(str) { if (typeof str == 'string') { try { var obj = JSON.parse(str) if (typeof obj == 'object' && obj) { console.log('是JSON') return true } else { return false } } catch (e) { console.log('error:' + str + '!!!' + e) return false } } else { console.log('not string') } },
三、解决方案
将传入的字符串中的单引号变为双引号后再判断
str = str.replace(/'/g, '"') //单引号替换为双引号
分类:
运行报错解决
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具