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

JSON解析错误求助:数组缺少闭合标记(关联Account.roles字段)

分析你的JSON解析错误问题

首先,你贴出来的这段JSON是完全合法的,我用JSON校验工具验证过没问题:

{ 
  "password": "quang97", 
  "username": "quang97", 
  "firstname": "quang97", 
  "lastname": "quang97", 
  "roles": [ "ADMIN" ] 
}

但报错提示Unexpected end-of-input: expected close marker for Array,还关联到Account["roles"]->java.util.ArrayList[1],这里的关键点是ArrayList[1]——Java的ArrayList索引从0开始,这说明服务器在解析roles数组时,试图读取第二个元素(索引1),但遇到了输入结束,导致数组没闭合。

结合这个报错,我给你梳理几个最可能的原因和排查方向:

  • 实际发送的JSON和你贴的不一致:你以为提交的是正确的JSON,但实际传输到服务器的内容被截断了。比如roles数组可能被写成了["ADMIN",(没写完第二个元素,也没加闭合的]),或者整个JSON的末尾被截断了。建议用请求工具(Postman、curl)或者浏览器开发者工具,查看真正发送到服务器的请求体内容,确认和你预期的一致。
  • 请求头或传输问题:检查请求的Content-Type是否设置为application/json。如果类型不对,服务器可能会用错误的方式解析请求体,导致奇怪的解析错误。另外,也可能是HTTP请求的Content-Length设置不正确,服务器只收到了部分JSON内容就开始解析。
  • 代码构造JSON时的错误:如果你是通过代码拼接或序列化生成这个JSON,检查代码逻辑。比如在处理roles数组时,是不是循环添加元素后没正确闭合数组?或者序列化过程中出现了异常,导致生成的JSON不完整。

给你个快速验证方法:把你贴的这段完整JSON直接用Postman发送给服务器,如果能正常解析,那说明问题肯定出在你平时提交时的内容构造或传输环节,重点排查这两个方向就好。

内容的提问来源于stack exchange,提问作者Văn Quang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:48:15