我有一个包含如此多字段的 Java 对象...
public class Foo {
private String field0;
private String field1;
private String field2;
private String field3;
private String field4;
private String field5;
private String field6;
private String field7;
private String field8;
private String field9;
// Getters and Setters...
}
我有以下 JSONString...
{\"field0\":\"value0\",\"field1\":\"value1\"}
我用 GsonBuilder() 实例化 Gson,如下...
gson = new GsonBuilder()//
.disableHtmlEscaping()//
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) //
.setPrettyPrinting()//
.serializeNulls()//
.setDateFormat("yyyy/MM/dd HH:mm:ss [Z]")//
.create();
当我调用 gson.fromJson(JSONString, Foo.class);
时,我得到了 Foo 的一个新实例,所有字段都设置为 null
。甚至在我的 JsonString 中指定的 field0
和 field1
...
如何反序列化上面的 JSONString 以获得设置了 field0
和 field1
的实例?
最佳答案
您设置了 FieldNamingPolicy.UPPER_CAMEL_CASE
,将 JSON 字符串更改为 {\"Field0\":\"value0\",\"Field1\":\"value1\"}
.
关于java - GSON反序列化不带所有字段的json字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52155014/