我有以下类,我以Json字符串格式输出类的对象:
public final class MyClass {
private String field1 = null;
private String field2 = null;
@Override
public final String toString() {
return toJsonString();
}
public final String toJsonString() {
return (new Gson()).toJson(this);
}
:
:
public static void main(String[] args) {
MyClass a = new MyClass();
a.field1 = "Hello";
System.out.println(a);
}
}
以上代码,主程序输出如下:
{"field1":"Hello"}
是否可以输出:
{"field1":"Hello", "field2":null}
谢谢!
答案 0 :(得分:1)
Gson的默认配置会忽略空值,但您可以使用GsonBuilder来更改它:
Gson gson = new GsonBuilder().serializeNulls().create();
return gson.toString(this);
user guide描述了这一点,the javadocs描述了GsonBuilder为您提供的其他选项。