位置: IT常识 - 正文

多种方法解决前后端报出的SyntaxError: xxx is not valid JSON的问题,比如“[object Object]“ is not valid JSON(有什么办法解决前进中的问题)

编辑:rootadmin
多种方法解决前后端报出的SyntaxError: xxx is not valid JSON的问题,比如“ 文章目录1. 复现问题2. 分析问题3. 解决问题4. 该错误的其他解决方法5. 文章总结1. 复现问题

推荐整理分享多种方法解决前后端报出的SyntaxError: xxx is not valid JSON的问题,比如“[object Object]“ is not valid JSON(有什么办法解决前进中的问题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:方法解决前进中的问题,多种方法解决前列腺问题,解决前加什么修饰词,解决前面加什么词语,多种方法解决前任的问题,多种方法解决前列腺炎,多种方法解决前任的问题,多种方法解决前任的问题,内容如对您有帮助,希望把文章链接给更多的朋友!

今天启动后端服务,访问knife4j文档时,却报出如下错误:

于是,按F12打开调试页面板,找到了具体的错误信息,如下所示:

即SyntaxError: Unexpected token 'l', ..."example":[list,from]"... is not valid JSON。

如果的你的F12无法打开调试面板,可以参考博文:多种方法解决谷歌(chrome)、edge、火狐等浏览器F12打不开调试面板的问题。

2. 分析问题

SyntaxError: Unexpected token 'l', ..."example":[list,from]"... is not valid JSON表示[list,from]不是一个有效的json。

于是,将[list,from]数组粘贴到在线的json工具中,如下所示:

在线的json工具地址为:https://www.sojson.com/

【注意】上述第二张图中——调试面板的第2行错误信息。 如果不是一个有效的Json,JSON.parse解析在解析该值时,就会报出错误。

而我的代码配置写的正是[list,from],如下图所示:

3. 解决问题

如果想要让他成为有效的json,可以进行[list,from]修改为["list", "from"],如下图所示:

于是,将["list", "from"]该值复制到配置文件中,如下图所示:

【注意】\"是转义符号,如果最外层已存在双引号,里面再引入双引号就需要转义。

此时,重新启动服务,便能正常访问了,如下图所示:

多种方法解决前后端报出的SyntaxError: xxx is not valid JSON的问题,比如“[object Object]“ is not valid JSON(有什么办法解决前进中的问题)

这是后端该错误的解决方法,如果你是前端报出的错误,可以参考如下解决方法。

4. 该错误的其他解决方法

报出该错误的原因,一般是你写的json有问题。

当然,如果你不确定问题出现在哪里,可以使用在线的json工具查看。

如果你是前端报出的错误,可以参考如下解决方案。

检查解析json是否有误

假设,前端在取cookie中的user_cookie时,要使用JSON.pase()方法将user_cookie解析为json对象,但在解析时便报出[object Object] is not valid JSON,如下代码所示:

var userCookie = cookie.get("user_cookie");// 把字符串转换json对象(js对象)if (userCookie) { this.loginInfo = JSON.parse(userCookie);}

因为,在保存user_cookie时,没有将对象转为字符串,如下代码所示:

//获取返回用户信息,放到cookie里面cookie.set('user_cookie',this.loginInfo,{domain: 'localhost'})

因而,在保存user_cookie时,需要将对象转为字符串,如下代码所示:

//获取返回用户信息,放到cookie里面cookie.set("user_cookie", JSON.stringify(this.loginInfo), {domain: "localhost",});项目打包中的package.json或者manifest.json出现问题

项目在打包时,报出了Manifest is not valid JSON. Line: 1, column: 1。

出现这个问题,一般是因为package.json或者manifest.json文件出了问题,而不要以为是xxx.manifest文件出了问题。

如果你的package.json或者manifest.json代码是网页上复制来的,很容易出现标点符号的错误,比如英文的双引号写成了中文的双引号,而标点符号的错误会导致这个问题。

报错原因也很容易看见,line为行数,column为列或者说是属性,即Line: 1, column: 1表明第一行第一个属性出了问题。

后来发现复制来的json里,双引号居然是中文的,而在记事本看不出来,如下图所示:

因而,复制好json对象后,最好使用在线的json工具检查下。

前端请求的数据格式有问题。

如果你使用的是工具类(比如postman)向后端发送请求数据,最好需要先设置请求头 'Content-Type' : 'application/json;charset=utf-8',然后数据用json对象格式,如下图所示:

比如,前端使用post请求传的参数格式存在问题,有可能导致后端无法解析参数而报出如下错误:

当然,你如果在js里面,其实不用考虑这个问题,一般axios发送post请求,请求头就是这个格式,传递数据需要是对象格式:

vue.js:axios({ method:'post', url:'/api/admin/category', data:{name: 'test-data',pid:0}})

使用Ajax发送,可以这样写,比如ajax.js:

$.ajax({ url: '/api/v1/books', data: JSON.stringify({test: 'test-data'}), dataType: 'json', contentType: 'application/json', type: 'POST' });

如果上述方法还未解决你的问题,可以在评论区中留言。

5. 文章总结

如果你对knife4j感兴趣,可以参考博文:https://blog.csdn.net/lvoelife/article/details/128114264

代码是千变万化的,但思想是始终不变的:一般报出这个错误SyntaxError: xxx is not valid JSON,都是我们写的json存在问题。

我们可以根据自己的代码,找出json在哪里写错了,然后对症下药即可。

本文链接地址:https://www.jiuchutong.com/zhishi/295200.html 转载请保留说明!

上一篇:手把手教你使用--常用模块--HC05蓝牙模块,无线蓝牙串口透传模块,(实例:手机蓝牙控制STM32单片机点亮LED灯)(手把手教你使用opc)

下一篇:聊聊vue3的defineProps、defineEmits、defineExpose

  • 投资过程中的相关税费
  • 青岛山公寓二手房出售
  • 小规模纳税人开普票免税
  • 偶然所得代扣代缴义务人
  • 企业电子发票申请不成功原因
  • 公司废品处理一定要入账吗
  • 银行电子承兑汇票怎么转让
  • 公积金贷款购房后可以提取公积金吗
  • 折旧四种方法
  • 小规模纳税人免税会计分录
  • 不达起征点收到销售额如何作分录?
  • 发出库存商品没发货
  • 公司换法人公司账户怎么办
  • 小规模纳税人开了3%的专票还能享受1%
  • 地税退税政策
  • 应交增值税账面数
  • 个人去税务局开劳务费税率
  • 工业企业税负率一般控制在多少?
  • 怎么确认权益性投资收益收入?
  • 食堂费用没有发票能挂账吗
  • 地下车库是否需要设置消防电梯?
  • 企业确定无法支付的
  • 生产企业的免抵退纳税申报,在财务做销售收入账务后
  • 当月取得的进项必须当月勾选吗
  • 本期应付而未付工资挂账处理?
  • 专业服务业政策
  • 欧拉操作系统和龙蜥哪个好用
  • hp tpn-c120笔记本
  • 固定资产进项税额怎么做账
  • 跨行汇入会计分录
  • 母公司是否应替子公司承担违约责任
  • 网络平台上进行网络营销
  • win7显示更新失败怎么办啊
  • memcache php
  • 以前年度应当取得而未取得的发票
  • 税务的基本职能
  • Glastonbury Tor, Somerset, England (© DEEPOL by plainpicture/Adam Burton)
  • 企业所得税申报表模板
  • thinkphp跨域解决方案
  • Yii1.1中通过Sql查询进行的分页操作方法
  • gpib-usb驱动
  • 织梦前台的菜单怎么换
  • 织梦怎么安装
  • mongodb 安装
  • 短期投资理财是
  • 增值税补充申报表不填可以吗
  • 增量留抵税额怎么算
  • 现金流量表两年数据分析
  • 交易性金融资产属于流动资产
  • 管理费用怎样分摊归集到产品
  • 国家高新技术补助
  • 政府给的专款专用的补助,怎么入账
  • 养猪场财务账目怎么做
  • 旅游业小规模纳税人税率是多少
  • 台账和明细账有什么区别
  • 所得税汇算清缴前取得跨年发票
  • mysql 5.7.16 zip包安装配置方法图文教程
  • win8操作
  • 强化系统设计
  • 安装硬盘视频教程
  • u深度u盘启动盘制作工具无法进入电脑
  • 优盘和硬盘
  • centos划分分区
  • windows intel
  • pqv2isvc.exe - pqv2isvc是什么进程 有什么作用
  • linux字符串命令
  • win10桌面上怎么分成几个区域
  • win7计划任务设置
  • ExtJs3.0中Store添加 baseParams 的Bug
  • vim按键
  • shell脚本中执行echo卡住
  • nodejs跳转到指定页面
  • java回收机制原理
  • angular.js
  • CentOS下mysql定时备份Shell脚本分享
  • node-js
  • 安卓实现代理
  • 实名办税信息采集的身份证件
  • 个人出租商业用房开票税率
  • 摩托车的消费税计税依据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设