{
"value1": 1,
"value2": aaa,
"subvalues": [
{
"value1": 297,
"value2": 310,
"class3": {
"name": "name1",
"id": 1,
"value": 32
}
},
...
]
}
public class class1 {
private int value1;
private String value2;
private List<class2> vals;
public class class2 {
private int value1;
private int value2;
private class3 c3;
}
}
public class class3 {
private String name;
private int id;
private int value;
}
打完电话后
Gson g = new Gson();
class1 c1 = g.fromJson(jsonString, class1.class);
我只填充了class1
的value1
和value2
。列表始终保持null
。我怎么才能修好这个?
您需要改变:
private List<class2> vals;
致:
private List<class2> subvalues;
如果希望保留vals
字段的原始名称,可以使用SerializedName注释:
public class class1 {
private int value1;
private String value2;
@SerializedName("subvalues")
private List<class2> vals;
...
}
主要内容:示例我们将一个Java对象序列化为一个Json文件,然后读取该Json文件以获取对象。 在这个例子中,创建一个类。 然后将对象列化后存储在文件中,该文件将具有对象的json表示形式。 示例 在中创建一个名为的Java类文件,参考以下代码 - 执行上面示例代码,得到以下结果 -
问题内容: 我有一个名为的类,该类具有一个作为参数的构造函数: 具有以下属性: 并且是我的应用程序的其他类,并具有以下构造函数: ,并且是的子类。 我想用Gson 反序列化数组,所以我写道: 以定义为: 调试时,实例具有正确的“ MainActivity”作为上下文,而其成员变量的上下文为null。 Gson 使用正确的构造函数创建了对象,但使用默认的无参数构造函数创建了实例。我怎样才能解决这个问
我有一个名为PageItem的类,它有一个构造函数,该构造函数将上下文作为参数: 具有以下属性: 新闻提供者(Newsprovider)和主题(Topic)是我的应用程序的其他类,具有以下构造函数:
问题内容: 我想将此对象序列化为JSON字符串 并获得如下结果: 我尝试使用 但是相反,我得到了: 人员序列化器: 欢迎任何建议 谢谢,马里奥 问题答案: 为了获得所需的结果,您需要像这样编写串行器: 的结果 将会 完整的代码:
以下代码导致此异常: 所以问题是:如何在GSON序列化和反序列化的泛型HashMap中获得正确的实例?
当我试图使用Gson库反序列化JSON对象数组时,我遇到了一个问题。 JSON数组的一个示例: 你怎么认为?反序列化这种JSON响应的正确Java代码是什么?