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

如何让Gson解析JSON时对未知字段抛出异常?

如何让Gson解析JSON时对未知字段抛出异常?

Gson默认会忽略JSON中Java类未定义的字段,不会抛出异常。比如你定义的Java类:

class Dog {
    int legs;
}

待解析的JSON包含类中未定义的heads字段:

{
  "legs": 5,
  "heads": 3
}

使用默认new Gson().fromJson(json, Dog.class)解析时,不会触发任何异常。

要强制开启未知字段检查,需要通过GsonBuilder构建Gson实例时开启failOnUnknownProperties选项:

Gson gson = new GsonBuilder()
    .setFailOnUnknownProperties(true)
    .create();
gson.fromJson(json, Dog.class);

此时解析包含未知字段的JSON时,会抛出com.google.gson.JsonSyntaxException异常,提示存在未识别的字段。

该配置为全局生效,所有使用此Gson实例的解析操作都会严格检查未知字段。若需针对特定类做差异化处理,可结合@Expose注解或自定义ExclusionStrategy实现更精细的控制。

另外,Gson官方仓库中曾针对该需求展开讨论,核心解决方案即为上述配置方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:15:32