使用Kotlin中的Gson将json解析为Java POJO缺少通用信息

使用Kotlin中的Gson将json解析为Java POJO缺少通用信息,java,gson,kotlin,Java,Gson,Kotlin,当从Kotlin调用Java类型和Gson时,我遇到了一个问题 JavaPOJO表示一个API响应及其错误 public class ApiResponse { @SerializedName("errors") public List<ApiResponseError> errors; } public class ApiResponseError { @SerializedName("code") public Integer code; @Seri

当从Kotlin调用Java类型和Gson时,我遇到了一个问题

JavaPOJO表示一个API响应及其错误

public class ApiResponse {

  @SerializedName("errors")
  public List<ApiResponseError> errors;
}


public class ApiResponseError {

  @SerializedName("code")
  public Integer code;

  @SerializedName("message")
  public String message;
}
kotlin代码使用Gson将响应解析为对象

val errorResponse = Gson().fromJson<ApiResponse>(jsonBody, ApiResponse::class.java)
val errorResponse=Gson().fromJson

问题是
ArrayList
应该包含
ApiResponseError
对象,而不是
LinkedTreeMap

我在
列表错误
列表中尝试了没有泛型类型的相同代码,结果是相同的,因此我猜测泛型信息在某个地方丢失了,而Gson默认为
LinkedTreeMap


有什么线索吗?谢谢

代码在我的电脑上工作。你说的“工作”是什么意思?
ArrayList
是否包含类型为
ApiResponseError
LinkedTreeMap
的对象?是否按照您的预期工作。包含ApiResponseError类型的对象。我得到与@aristotll相同的结果。我的gson版本是
2.8.1
。您是否为
Gson.fromJson(String)
编写了自己的扩展函数?我删除了
未找到“
后的逗号,但它似乎没有关联。
val errorResponse = Gson().fromJson<ApiResponse>(jsonBody, ApiResponse::class.java)