You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot JWT认证项目JSON解析错误求助

解决Spring Boot JWT注册接口JSON解析错误问题

问题原因

从错误日志里能看到核心问题:Unexpected character (''' (code 39)),这说明你的curl请求发送的JSON数据里包含了非法的单引号字符。

问题出在你的curl命令上:你用单引号包裹了JSON内容,但在Windows CMD环境下,单引号并不会被当作字符串的边界符号,反而会被直接作为请求体的一部分发送给服务器,导致服务器收到的内容是'{"username":"user","password":"user"}',而不是标准的{"username":"user","password":"user"},Jackson自然无法解析这种带单引号的非法JSON。

解决方案

针对不同的终端环境,给你两种可行的解决方式:

1. 直接修改curl命令(适配Windows CMD)

把包裹JSON的单引号换成双引号,同时对JSON内部的双引号进行转义:

curl -i -H "Content-Type: application/json" -X POST -d "{\"username\":\"user\",\"password\":\"user\"}" http://localhost:9000/api/auth/register

2. 使用文件传递JSON(跨平台通用)

这种方式更不容易出错,适合所有终端环境:

  • 先创建一个register.json文件,内容为标准JSON:
{"username":"user","password":"user"}
  • 然后用curl读取文件内容作为请求体:
curl -i -H "Content-Type: application/json" -X POST -d @register.json http://localhost:9000/api/auth/register

验证方法

你可以先在终端里执行echo '{"username":"user","password":"user"}'(Windows CMD下),会发现输出内容是带单引号的,这就能确认单引号被当作了内容的一部分,而不是字符串分隔符。

内容的提问来源于stack exchange,提问作者Jeff Cook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 10:03:33