0

如何使用 GSON 解析看起来像这样的对象:

{ response: 
          { value1: 0, 
            value2: "string", 
            bigjsonObject: {
                 value1b: 0,
                 bigJSONArray: [...]
          }
 }

GSON 中的所有示例都具有较少的混合值类型,文档中提到了这会如何破坏 GSON 反序列化,但没有详细说明,仍然建议 GSON 可以将其映射到对象。

我当前的测试使用gson.fromJSON(inputstream, myObject.class)返回一个具有空值的对象,因此它没有映射它们。

myObject.class包含一个 ArrayList 类型bigJSONArray

public class myObject {

        private ArrayList<bigObjectModel> bigJSONArray;

        myObject(){};
}

我的假设是我的 ArrayList 对象没有它正在寻找的类型或其他东西。但是我误解了在这种情况下映射应该如何工作。

4

1 回答 1

1

为了解析

{ 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 将跳过它

于 2013-08-30T13:29:50.117 回答