如何使用 GSON 解析看起来像这样的对象:
{ response:
{ value1: 0,
value2: "string",
bigjsonObject: {
value1b: 0,
bigJSONArray: [...]
}
}
GSON 中的所有示例都有较少的混合值类型,文档提到了一些关于这如何搞砸 GSON 反序列化的内容,但没有详细说明,仍然建议 GSON 可以将其映射到对象。
我当前使用 gson.fromJSON(inputstream, myObject.class) 的测试返回一个具有 null 值的对象,因此它没有映射它们。
myObject.class
包含一个 bigJSONArray
类型的 ArrayList
public class myObject {
private ArrayList<bigObjectModel> bigJSONArray;
myObject(){};
}
我的假设是我的 ArrayList 对象没有它正在寻找的类型,或者其他什么。但我误解了在这种情况下映射应该如何工作。
最佳答案
为了解析
{ response:
{ value1: 0,
value2: "string",
bigjsonObject: {
value1b: 0,
bigJSONArray: [...]
}
}
您需要容器类
public class myObject {
private int value1;
private String value2;
private Foo bigjsonObject;
}
Foo 类在哪里
public class Foo {
private int value1b;
private ArrayList<bigObjectModel> bigJSONArray
}
您可以省略任何字段,GSON 将跳过它
关于java - GSON从json文件到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18516290/