私は残りのAPIを使ってアンドロイドのアプリケーションを作成しました。ここで私は残りのAPIのためにgson
を使用し、retrofit
を使用してこの残りのAPIとアンドロイドアプリケーションを接続しました。Android:java.text.ParseException:Unparseable date
私のアプリケーションでは、IDを使用して残りのAPIからデータを取得しようとしました。次に、私は次のエラーログを取得しました(私はこのエラーログを使ってアプリケーション名を投稿しませんでした)。
残りのAPIのプロパティを変更する必要がありますか?またはアプリケーションへの変更。現在、私はローカルホスト上の残りのAPIを使ってAndroidアプリケーションをテストしています。
この例外を処理するにはどうすればよいですか?
これは私のエラーログで、
com.google.gson.JsonSyntaxException: 1989-10-11
at com.google.gson.DefaultDateTypeAdapter.deserializeToDate(DefaultDateTypeAdapter.java:107)
at com.google.gson.DefaultDateTypeAdapter.deserialize(DefaultDateTypeAdapter.java:82)
at com.google.gson.DefaultDateTypeAdapter.deserialize(DefaultDateTypeAdapter.java:35)
at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:103)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:196)
at com.google.gson.Gson.fromJson(Gson.java:810)
at com.google.gson.Gson.fromJson(Gson.java:775)
at retrofit.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:36)
at retrofit.GsonResponseBodyConverter.convert(GsonResponseBodyConverter.java:24)
at retrofit.OkHttpCall.parseResponse(OkHttpCall.java:148)
at retrofit.OkHttpCall.access$100(OkHttpCall.java:29)
at retrofit.OkHttpCall$1.onResponse(OkHttpCall.java:94)
at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:168)
at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.text.ParseException: Unparseable date: "1989-10-11" (at offset 10)
at java.text.DateFormat.parse(DateFormat.java:555)
at com.google.gson.DefaultDateTypeAdapter.deserializeToDate(DefaultDateTypeAdapter.java:105)
... 17 more
更新
私は私の改造コールに次のコード行を見つけ、私は
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.create();
、これは例外の理由だと思います
しかし、私はこの日付形式を一般的な日付形式に変換することは考えていません。
現在のところ、この例外をどのように処理するかわかりません。アイデアはありますか?
[GSON - 日付形式]の可能な複製(http://stackoverflow.com/questions/6873020/gson-date-format) – AxelH
@AxelH:リンクのためのおかげで男です。あなたのコメント+1。 – Barrier