多くの実装が書かれていますが、何度も何度も私は4日以上問題を解決できません. データ時間をjsonにシリアル化する必要があります。それでも多くのことが示されていますが、どれも私の問題を解決するのに役立ちませんでした。
次のコードに示すように、特別な形式が必要です。
このリンクから次のソリューションを取得しましたGSON - 日付形式
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. 文字列としてではなく、自分のシリアライザーから。