Comment utiliser de XmlGregorianCalendar avec fromJson et la méthode toJson méthodes de gson?
Le thème de mon projet est de donner format XML de données et d'obtenir un format Json à l'aide de google-gson et j'ai JAXB Pojo java généré à partir du schéma XML dans lequel j'ai une variable de XMLGregorianCalendar type de données.
Je donne la suite de l'entrée de XML et obtenir le format json à partir de la gson.méthode toJson ();
<?xml version="1.0" encoding="UTF-8"?>
<EmpRequest xmlns="http://java.com/Employee">
<EmplIn>
<EmpID>12</EmpID>
<Empname>sara</Empname>
<Designation>SA</Designation>
<DOJ>2002-05-30T09:30:10+06:00</DOJ>
</EmplIn>
</EmpRequest>
Mais à la sortie, j'ai eu la suivante.
{"emplIn":{"empID":"12","empname":"sara","designation":"SA","doj":{}}}
J'ai surfé sur google et a obtenu la suggestion d'ajouter dans le schéma xml et la modification de la XmlGregorianCalendar type de données string. Mais je ne veux pas réaliser de deux manières.
Je veux dire comment obtenir la bonne sortie avec la XmlGregorianCalendar type de données par le biais de fromJson et la méthode toJson méthodes de gson?
Je vous remercie beaucoup,
Harish Raj.
Oui, Blaise, j'aimerais si cela fonctionne pour <xs:dateTime> avec le XmlGregorianCalendar type de données.
Blaise, Pouvez-vous m'expliquer peu plus loin avec un exemple, afin que je puisse la mettre en œuvre? Je suis confus de la façon de mettre en œuvre ce que vous avez fournis. 🙁
J'ai ajouté une réponse qui montre comment MOXy pourrait être utilisé pour mettre en œuvre votre cas d'utilisation.
OriginalL'auteur Harish Raj | 2011-10-11
Vous devez vous connecter pour publier un commentaire.
Remarque: je suis le EclipseLink JAXB (MOXy) plomb et un membre de la JAXB 2 (JSR-222) groupe d'experts.
Vous pouvez utiliser MOXy de gérer à la fois le XML et JSON liaison aspects de ce cas d'utilisation. Comme je l'ai mentionné dans mon commentaire MOXy prend en charge la
XMLGregorianCalendar
type. Les Métadonnées ressemblerait à:EmpRequest
EmplIn
paquet-info
Démo
Vous pouvez configurer le MOXy mise en œuvre de
Marshaller
de sortie JSON par le réglage de laeclipselink.media-type
propriétéapplication/json
.input.xml
Sortie
Pour Plus D'Informations
Par
GAXB
voulez-vous direJAXB
? Si oui, alors oui. Il n'y a pas une réelle différence entre les classes générées ou de classes d'annoter dans la mesure où un JAXB runtime est concerné.Blaise, j'utilise Jdeveloper. et j'obtiens l'erreur suivante. Exception in thread "main" javax.xml.bind.PropertyException: nom: eclipselink.médias-valeur de type: application/json au org.eclipse.la persistance.jaxb.JAXBMarshaller.setProperty(JAXBMarshaller.java:520) au com.moxy.de l'employé.Test.main(Test.java:18) Pouvez-vous me dire comment je peux installer/configurer EclipseLink JAXB (MOXy), de sorte qu'il serait bien fonctionner.
Vous avez besoin d'utiliser EclipseLink 2.4. Vous pouvez obtenir une nouvelle version: eclipse.org/eclipselink/downloads/milestones.php
Je reçois également cette exception, mais je suis en utilisant 2.4.0-INSTANTANÉ. Toutes les suggestions?
OriginalL'auteur bdoughan
Espérons-le, Cela peut résoudre mon problème d'utilisation de google-gson.
(Le texte suivant devrait être ajouté dans lequel nous créons l'objet de Gson)
Étape 1:
Étape 2: Et nous avons besoin de créer le XGCalConverter Classe comme suit.
OriginalL'auteur Harish Raj