java - GSON从json文件到对象

标签 java android json mapping gson

如何使用 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/

相关文章:

json - GroupByWithSumPipe 对列表进行排序并对分组项的属性求和 Angular

Java JPanel 不绘画

java.lang.ClassCastException : class org. json.JSONObject 在 MapReduce 程序中

java - Jenkins-如何使用 java 以编程方式创建 Jenkins 作业、使用 maven(build) 和 git(SCM) 构建作业

java - 将字符串写入文本文件

python - 如何使用 wreq 在 haskell 中发出 json 请求?

java - Android AES 加密从 C# 到 Java

android - 如何防止 Android 在 Activity (应用程序)处于焦点时自动锁定?

android - AppCompatActivity 在 Android Studio 中作为默认值

php - 如何在不发生内存崩溃的情况下将大块存储到 json 文件中?