写了很多实现但一次又一次我不能解决我的问题超过 4 天。我必须将数据时间序列化为 json。即使显示了很多,但它们都没有帮助我解决我的问题。
我需要有一个特殊的格式,如以下代码所示。
我从这个链接GSON - Date format得到了以下解决方案
Item item = new Item(); // a Java class that some getter/setter methods.
JsonSerializer<Date> ser = new JsonSerializer<Date>() {
@Override
public JsonElement serialize(Date src, Type typeOfSrc,
JsonSerializationContext context) {
// TODO Auto-generated method stub
//return src == null ? null : new JsonPrimitive(src.getDate());
String format = "yyyy-MM-dd'T'HH:mm:ss.SSSZ";
return new JsonPrimitive(format);
}
};
Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, ser).create();
Log.d("new Gson().toJson(item)", gson.toJson(item));
// I need this to send data to Server
dataOut.writeBytes(gson.toJson(item));
dataOut.flush();
dataOut.close();
我需要有如下的时间格式。yyyy-MM-dd'T'HH:mm:ss.SSSZ。不是字符串,而是来自我自己的序列化程序。