【发布时间】:2019-09-03 09:08:49
【问题描述】:
我是 Java 新手,我正在尝试使用 gson 库反序列化具有嵌套 Json 对象数组的 Json 对象,但面临一些困难。
需要一些关于如何使用 gson 库以正确方式执行此操作的帮助吗?
POJO:
@JsonRootName(value = "Error")
public class ErrorData {
private String Source;
private String ReasonCode;
private String ErrorCode;
private String Description;
// getters and setters
}
@JsonRootName(value = "Errors")
public class ErrorsDataRes {
@SerializedName("Error")
private List<ErrorData> Error;
// getters and setters
}
主要:
public static void main(String[] args) throws Exception {
String data =
"{\"Errors\":{\"Error\":[{\"Source\":\"INPUT\",\"ReasonCode\":\"INVALID_FIELD_VALUE\",\"ErrorCode\":\"E0001\",\"Description\":\"Invalid Field Value\"}]}}";
Gson gson = new GsonBuilder().create();
ErrorsDataRes errors = gson.fromJson(data, ErrorsData.class);
}
我希望将 Json 字符串反序列化为我的 ErrorsDataRes 对象,但结果是一个空对象。有什么想法吗?
【问题讨论】:
-
输出只有 ErrorsDataRes.class。输入有 2 层嵌套。您正在寻找的是 1 级嵌套 - 直接从 {\"Error\":[{\"Source\":\"INPUT\"...
-
如果有帮助请投票!
标签: java json gson json-deserialization