“JSON parse error: Unexpected character (‘1‘ (code 49))的解决方式

举报
穆雄雄 发表于 2022/12/07 21:45:17 2022/12/07
【摘要】 现在是:2022年12月7日19:16:48大家好,我是雄雄。刚刚在调用接口的时候,出现了个错误:(很是奇怪,简单分析应该是参数的问题,所以就开始检查后端代码){ "code": 400, "success": false, "data": null, "msg": "JSON parse error: Unexpected character ('1' (code 49)): was ex...

现在是:2022年12月7日19:16:48

大家好,我是雄雄。

刚刚在调用接口的时候,出现了个错误:(很是奇怪,简单分析应该是参数的问题,所以就开始检查后端代码)

{
	"code": 400,
	"success": false,
	"data": null,
	"msg": "JSON parse error: Unexpected character ('1' (code 49)): was expecting a colon to separate field name and value; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('1' (code 49)): was expecting a colon to separate field name and value\n at [Source: (PushbackInputStream); line: 1, column: 67]"
}

然后我后端代码是这样的,接收的是一个json对象的参数,然后开始进行处理:

	@PostMapping("/updateProjectBeginTime")
	@ApiOperationSupport(order = 3)
	@ApiOperation(value = "threePlant-第一个动作的更新", notes = "传入userId,programmeId,projectId,time")
	public R updateProjectBeginTime(@ApiParam(value = "训练方案业务对象", required = true) @RequestBody  TrainingVO trainingVO) {
		//第一个动作的开始时间
		trainingVO.setBeginTime(trainingVO.getTime());
		//第一个动作:训练中
		trainingVO.setStatus(1);
		//将第一个动作放在redis的缓存中
		bladeRedis.set("training:updateTrainingStatusAndTime:" +
			trainingVO.getUserId() + ":" +
			trainingVO.getProgrammeId(), trainingVO.getProjectId());
		//调用更新的借口
		return trainingSchemeUrlService.updateTrainingProgrammeAndProjectStatusAndTime(trainingVO);
	}

下面是我的传递的参数,封装成了个对象,直接传递的:

{
    "projectId":4336,
    "userId":1520262094935859201,
    "time"1651327242254:,
    "programmeId":400
}

乍一看都对,但是调用的时候就是调不通,还报了个上面的错,于是我就在网上搜啊搜啊,长篇大论一堆,都没有解决。

然后我就仔细分析,看报错应该是json的问题,但是json能有啥问题呢。检查传参,终于发现问题了。
是我的time参数传参的时候格式不对…,大家可以仔细的检查一下,第一个参数后面多了个冒号…因为在使用apipost时,是有搜狗输入法,鼠标光标会乱动,导致的这个问题。

下面是解决方式:
错误的格式:
"time"1651327242254:,

正确的格式:
"time":1651327242254,

改过来就可以啦。

注意事项:大家以后在调用的接口传参的时候一定要仔细,尤其是遇到传递json对象的这种,报错了还不好找,一般这个错误都是传递参数的问题,如果传递的对象比较复杂,可以先用json格式化工具格式化一下,然后在调用,避免这种小问题的出现。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。