Java 8 LocalDateTime désérialisé à l'aide de Gson

J'ai JSONs avec une date-heure d'attribut dans le format "2014-03-10T18:46:40.000 Z", que je tiens à désérialiser en java.temps.LocalDateTime champ à l'aide de Gson.

Quand j'ai essayé de désérialiser, j'obtiens l'erreur:

java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING
Est-ce qui se passe lors de la sérialisation ou de la dé-sérialisation. Si c'est la deuxième case si votre json est valide - par exemple, il a commencer avec { (aka BEGIN_OBJECT), mais au lieu de votre json commence avec un personnage
Je fais une erreur de son lors de la sérialisation. Json -> Objet. Mais je pense que mon Json est ok. Si je remplace dans mon objet de mon attribut LocalDateTime avec de la Ficelle, il fonctionne.
json est au format {"key":"value"} Votre json est certainement pas valide. Comme je l'ai dit dans gson { est BEGIN_OBJECT et il est dit que c';s disparus. Juste println() le json pour vérifier si elle est correcte. Vous pouvez aussi imprimer le serialized objet pour voir comment le json devrait ressembler à ça 🙂
Ok, je comprends maintenant pourquoi il ne fonctionne pas. Mais peut-être que vous savez si il y a quelque chose que je peux faire? Comme une des options spéciales avec Gson pour dire si j'ai une Chaîne de caractères avec une Date et Heure pour désérialiser ce domaine et de créer l'objet dont j'ai besoin?
Je ne peux pas vous dire quelque chose avant que je vois la chaîne. Mais de toute façon, vous ne pouvez pas dé-sérialiser à moins qu'il n';s json valide. A mon avis le meilleur (et peut-être la seule chose que vous pouvez faire est de faire de cette chaîne json valide.

OriginalL'auteur fische | 2014-03-10