0
問題がGson Postgresのタイムスタンプのシリアライズ
private static final GsonBuilder GSON_BASE = Converters
.registerAll(new GsonBuilder().disableHtmlEscaping())
.registerTypeAdapter(InfoTransfer.class, new InfoTransfer.Adapter())
.setDateFormat(DateFormat.FULL, DateFormat.FULL) //Line added but it seems work for MySQL DB Timestamp
.setPrettyPrinting()
.create();
.
//inner class in InfoTransfer
public static class Adapter implements JsonSerializer<InfoTransfer>{
@Override
public JsonElement serialize(InfoTransfer src, Type typeOfSrc, JsonSerializationContext context) {
Gson gson= new Gson();
JsonObject jsonObject= (JsonObject) gson.toJsonTree(src);
return new JsonPrimitive(jsonObject.getAsString());
}
}
.
.
.
Log.d("Result",GSON_BASE.toJson(data));
期待される結果、GSONを使用してPostegresタイムスタンプのシリアル化である:
"created_at": "2016-10-13 18:18:51.64208+01"
結果:
\"created_at\": \"\\u0000\\u0001\\ufffdM\\u0015q\\ufffd}\"
ので、どんな提案?
仲間:)ありがとう、このソリューションを使用すると、文字列形式^^で日付を得た場合に動作しますが、私の場合には、我々はPostgresのタイムスタンプをシリアル化したかったので、我々はそれを送信するためにWebサービスを更新するために使用文字列形式です。私は解決策を投稿します、あなたのようなものです – Gofurs
この解決策は、OPの期待される結果に基づいています。また、私はpostgresでNOW()と検証しました(now()はCURRENT_TIMESTAMPに相当する伝統的なPostgreSQLです) – notionquest