Gson没有将JSONarray元素转换为类对象

时间:2014-07-14 07:22:48

标签: java json class object gson

我有一个JSONArray,我试图使用gson.fromJson将数组的每个元素转换为类实例。我的班级完全由字符串成员组成。当JSONarray元素具有所有值且没有为null时,它会被转换为正确,但是,当其中一个元素为null时,该成员的值不会更新。

实施例

    class A {
         string firstname;
         string lastname;
         string balance;

         //getters and setters
    }

JSONarray中元素的一个例子是

    {"firstname":"John","secondname":"Brown","balance":null}

当我使用

记录时
    logger.info("json - " + array.get(i).toString());

它记录正常。

然而,在这之后

    A obj = gson.fromJson(array.get(i).toString(), A.toClass);
    logger.info("Class instance - " + gson.toJson(obj);

我明白了

    {"firstname":"John","secondname":"Brown"}

但是,如果balance具有除null之外的某些值,则它可以正常工作。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

您好,可以尝试一下。

Gson gson = new GsonBuilder().serializeNulls().create();

https://sites.google.com/site/gson/gson-user-guide#TOC-Null-Object-Support