javaandroidjson创建一个json

javaandroidjson创建一个json,java,json,Java,Json,这是我的java对象: public class Photo { private String date; private GPS gps; private long task_id; private long pgo_id; private long load_id; private long com_id; private long note_id; private String note; private String

这是我的java对象:

public class Photo {
    private String date;
    private GPS gps;
    private long task_id;
    private long pgo_id;
    private long load_id;
    private long com_id;
    private long note_id;
    private String note;
    private String path;
}

public class GPS {
    private double lon;
    private double lat;
}
我想从对象照片创建一个json。我这样做:

 GsonBuilder builder = new GsonBuilder();
 Gson gson = builder.create();
 String jsonObject = gson.toJson(photos);

但是,它创建了一个包含所有参数的json。有时我不必发送
GPS-GPS
com\u-id
,这种方法将
0
。我不想将此参数发送到json。

默认情况下,Gson会在序列化过程中忽略所有空字段

但是,原语不能为null,因此将采用它们的默认值,即0(int)、0L(long)、0.0d(double)、0.0f(float)。尝试将原语的字段类型更改为其装箱等效项
Integer
Double
Long

现在,空值将被忽略,而值
0
将被序列化

如果您希望Gson序列化空值,请使用
new GsonBuilder().serializeNulls().create()