如何通过Gson解析验证Junit测试,解决fromJson方法无法识别报错
问题原因
- Gson 没有提供仅传入JSON字符串单个参数的
fromJson重载方法,该方法要求同时传入目标解析对象的Class类型作为第二个入参,你当前调用时仅传入了JSON字符串参数,因此IDE提示找不到匹配的方法。 - 你当前写法里的强制类型转换
(Carrinho)属于冗余操作,传入类型参数后fromJson会直接返回对应类型的对象,无需手动强转。
修复方案
修改ClienteTest.java中报错的代码行即可:
// 替换原有报错的代码行 Carrinho carrinho = new Gson().fromJson(conteudo, Carrinho.class);
额外注意事项
- 确保
Carrinho依赖的Produto类提供public无参构造方法,否则Gson反序列化运行时会抛出实例化失败异常 - 如果接口返回的JSON字段名和Java类属性名不一致,需要在对应属性上添加
@SerializedName("JSON对应的键名")注解做字段映射
内容的提问来源于stack exchange,提问作者Alessandro Frazão
相关产品推荐
相关产品推荐

