Je dois envoyer Date
objet au serveur via l'API (en fait, Date
est l'objet attendu par le serveur). Je veux utiliser Moshi, mais je n'arrive pas à comprendre comment utiliser Custom Adapter pour y arriver. N'importe qui?Comment envoyer un objet Date via le sérialiseur Moshi JSON?
2
A
Répondre
2
Ajouter une dépendance sur le paquet adaptateurs Moshi-:
<dependency>
<groupId>com.squareup.moshi</groupId>
<artifactId>moshi-adapters</artifactId>
<version>1.4.0</version>
</dependency>
Installez ensuite le Rfc3339DateJsonAdapter dans votre Moshi
exemple:
Moshi moshi = new Moshi.Builder()
.add(Date.class, new Rfc3339DateJsonAdapter())
.build();
Il va vous donner les dates comme des chaînes JSON au format RFC 3339 , comme ceci: "2017-05-06T20:00:00-05:00"
.
'Date' n'est pas quelque chose qui est spécifié dans JSON. Votre serveur ne peut donc pas attendre un objet Date. Il attend une certaine représentation d'une date, que ce soit une chaîne avec un certain format, ou un horodatage, ou une structure complexe. Vous devez d'abord déterminer le format que vous êtes censé envoyer. – njzk2
Je suis censé envoyer JSON –
mais 'Date' n'a aucune signification dans le contexte de' JSON'. Cela n'a donc aucun sens. Vous devez déterminer quel format attend votre serveur. – njzk2