J'ai besoin d'un petit coup de main, je débute avec l'utilisation de JSONObjet.
Mon souci, j'ai un classe Etudiant qui dispose de deux string et d'un objet Calendar(->GregorianCalendar).
Je peut parser mon instance en JSONObjet grace a la fonction :
public JSONObject ToJSON(){
JSONObject res=new JSONObject(this);
return res;
}
Ce coe fonctionne bien, il renvoie exactement le même JSONObject que si j'instanciais un objet Etudiant et que je parsais "manuellement" avec :
Etudiant etudiant1=new Etudiant("bernard","cfsffs",26,7,1993, 10207865,null);
JSONObject objet = new JSONObject(etudiant1);
renvoie la même valeur que
JSONObject objet = etudiant1.ToJSON();
Le problème vient lorsque je dois ajouter un constructeur capable d'instancier un objet Etudiant depuis un JSONObject ; je peut recuperer les String, mais lorsque je cherche a recuperer le Gregorian Calendar, je suis bloquer, j'utilise ce code :
public Etudiant(JSONObject monJson){
this.nom=monJson.getString("nom");
this.prenom=monJson.getString("prenom");
this.dateDeNaissance= monJson.get("dateDeNaissance");
this.numE=monJson.getInt("numE");
this.listeDiplome=monJson.get("listeDiplome");
}
or JSONObject.get(String key) renvoie un Objet de type String et java ne peut pas le caster directement en GregorianCalendar
message erreur de compilation :
Description Resource Path Location Type
Type mismatch: cannot convert from Object to Calendar Etudiant.java /TP5 line 22 Java Problem
j'ai aussi essayé de mofifier la fonction comme ceci :
java.lang.String cannot be cast to java.util.Calendar
Je cherche sur internet mais je ne trouve que de la manipulation de String, int ou valeur simpliste en JSON.
Si JSON est capable de parser directement un objet quelqu'once, j'imagine qu'il devrais être capable de renvoyer facilement un objet quelquonue depuis un JSONObjet(Sans quoi cela deviens completement inutil)? Mais comment?
- Edité par godef le hardi 1 décembre 2015 à 12:00:16
Recuperer un objet COMPLET depuis un JSONObjet
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.