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

使用Gson JsonObject.add()添加字符串抛出IllegalStateException问题求助

问题原因

你这段代码的问题出在类型不匹配:

  • JsonParser.parseString("AAAA")解析出来的是JSON字符串原始值(对应Gson里的JsonPrimitive类型),并非JSON对象(JsonObject)。
  • 你强行调用getAsJsonObject(),试图把字符串值转成JSON对象,这就触发了IllegalStateException——两者类型完全不兼容。
解决方法

有两种简单的修复方式:

方式1:使用addProperty方法(推荐)

Gson的JsonObject专门提供了addProperty方法,用于直接添加字符串、数字、布尔等基本类型属性,写法更简洁:

JsonObject jsonobject = new JsonObject();
jsonobject.addProperty("Name", "AAAA");

方式2:用add方法配合正确的JsonPrimitive

如果你一定要用add方法,需要获取对应的JsonPrimitive类型元素,而非强行转成JsonObject:

JsonObject jsonobject = new JsonObject();
// 方式2.1:解析后获取JsonPrimitive
jsonobject.add("Name", JsonParser.parseString("AAAA").getAsJsonPrimitive());
// 方式2.2:直接创建JsonPrimitive对象
jsonobject.add("Name", new JsonPrimitive("AAAA"));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:02:32