2011-10-19 12 views
18

Otrzymuję wyjątek, używając Gson do deserializacji json.Gson java.text.ParseException: Unparseable date

java.text.ParseException: Unparseable date: "2011-10-19T23:30:00-04:00" 

Część 23:30:00 wydaje mi się dziwna. Czy jest to nieprawidłowa data?

+0

możliwy duplikat [GSON deserializująca wartość klucza do niestandardowego obiektu] (http://stackoverflow.com/questions/5845822/gson-deserializing-key-value-to-custom-object) –

+0

Dzięki @MattBall! Czy możesz podać przykład, w jaki sposób mogę podłączyć niestandardową deserializację, gdy deserializuję klasę (z klasami zagnieżdżonymi wewnątrz), z których jednym z pól jest ten obiekt Date? Jestem nieco zdezorientowany, jak to zrobić. – LuxuryMode

+0

Pytanie, w jaki sposób wdrożyć taką niestandardową deserializację, zostało omówione na stronie http://stackoverflow.com/questions/7883615/custom-deserialization-in-gson. Ten wątek wygląda na to, że powinien być zamknięty. –

Odpowiedz

48

Musisz zdefiniować format daty w GsonBuilderze, coś w tym stylu.

Gson gSon= new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss").create(); 

Pozdrawiam!

+3

Twoja odpowiedź dalej daje. Deserializowano datę .net w łańcuchu json w polu Data Java i otrzymywałem wyjątek parsowania. Potknąłem się tutaj o twoją odpowiedź i rozwiązał mój problem. dzięki. –