Closed FlorentMouysset closed 11 years ago
@FlorentMouysset on parle bien du package: jsonToXml.xmlWriter?
@FlorentMouysset si c'est le cas, le parser prend déja comme exemple une seule question !?
Oui mais c'est un mauvais exemple. cf TrueFalse.json créé par @RaphaelFOURQUET @NawalOuldamer qui est un exemple valide.
@FlorentMouysset @NawalOuldamer @RaphaelFOURQUET
le fichier TrueFalse.json est mal écrit et mal indenté ,quelqu'un peut il me confirmer cette information?
Normalement j'ai corriger le fichier et la compilation ne signale aucune erreur !
TrueFalse.json est le résultat d'un de mes codes, c'est la transformation non indemptée de TrueFalse.xml, mais il est censé être bien écrit sinon.Prière de ne pas le modifier à la main c'est un résultat qui me sert de base pour améliorer mon code, et il sera de toute façon regénéré par le run de mon ToJson.java .
@smailGithub mis à part le pb d'indemptation qui reste à résoudre et dont nawal s'occupe le fichier est bien écrit non ?
@RaphaelFOURQUET avant que ne modifie le TrueFalse.json , la compilation donnai des erreurs du genre question n'est pas un ARRAY ! après la modification , plus d'erreur !, Est ce une coïncidence ? Ma modification affectera-t-elle le bon déroulement des choses ?
Cela vient du fait que cet exemple n'utilisait qu'une question, donc pas un array , c'est le soucis dont parle Florent si on a un quiz d'une seule question, le code du parser Json ne marche pas et c'est en cela que votre parser n'est pas suffisant je pense. Ta modification ne changera pas mon code mais le fichier TrueFalse.json sera re-généré sur une seule ligne. Mais pour le modifier comme un array tu as du créer une liste de questions avec un seul élément non ? Dans le cas d'une traduction automatique, ce ne sera pas ça qui sera effectué. Le mieux serait de dupliquer cet exemple et d'utiliser le votre de votre cote genre TruFalse2.json
@RaphaelFOURQUET Ok, je comprends l'erreur maintenant, peut tu stp copier coller TrueFalse.json ici en commentaire , vu que je l'ai modifier !
Etant donné que tes modifs ne sont pas push le fichier est encore à jour sur ce repository. https://github.com/JackDanny/projetDCLL_MoodleXML_Json/blob/master/projet/src/test/resources/TrueFalse.json Sinon il suffit normalement d’exécuter ToJson.java pour le recréer. Attention cependant car cet exemple est incomplet, il ne possède que les réponses à une question truefalse et pas les balises < questionText > et autres.
Oui le problème est bien comme @RaphaelFOURQUET l'a énoncé. Je demande donc au JSon parser de prendre en compte le pb. De mon coté une nouvelle méthode arrive sur l'interface du XML writer : public void writeXmlToJson(JSONObject oneQuestion, String nameXmlFileOut); pour le cas d'une question unique.
Ps : je push un TrueFalse.json modifié attention !
Ton trueFalse modifié cree une ARRAY [] qui contient une seule question, c'est normalement incorrect si on rencontre une seule balise question on ne cree pas d'array ? De plus comme indiqué TrueFalse.json est un fichier auto généré par ma méthode merci de ne pas le modifier à la main ou vous en servir directement pour vos tests car ma méthode le modifie souvent.
Oui il s'agit en faite de fichier Json de test pour mon writer. J'ai pas eu le temps de mettre en place de vrai tests :(
@FlorentMouysset , la modification que tu souhaite réalise est celle que j'ai cite précédemment , mais @RaphaelFOURQUET m'a indiquer ques c'est un fichier AUTO-GEN , donc ça modification est inutile.
Autant pour moi, mon commentaire est inutile alors :D :D
L'interface du XML writer est complétée. Elle prend en compte une seul question et plus seulement un tableau de questions. @smailGithub le parseur JSON est-il bon ?
@FlorentMouysset je pense que tu n'as toujours pas compris ce que je voulais dire, TrueFalse.json est mon fichier autogen, je m'en sers pour corriger mon writer Json donc il ne faut pas l'utiliser directement pour tes tests car il est modifié souvent et pas toujours de manière correcte.
@FlorentMouysset le parsert actuel travaille sur "question" comme étant un JsonArray ! Dans la cas d'une question quelle est le type de "question"?
JsonObject il me semble, à confirmer
je confirme
@FlorentMouysset de mon côte je pence que c'est bon ! A vous de me le confirmer, j’espère que ça va marcher
@FlorentMouysset @RaphaelFOURQUET
Bonne soirée et à demain !
Je ne vois pas comment cela fonctionne ? Le parseur Json n'a toujours qu'une seul méthode, est-ce normale ?
@FlorentMouysset hier , j'ai fait une modification qui permet de traiter le cas d'une question en ce basant sur le fichier AUTO-GEN TrueFalse.json de @RaphaelFOURQUET est ce insuffisant?
@FlorentMouysset @RaphaelFOURQUET , je pence que la solution au problème est de pouvoir récupérer le nombre de question du fichier, puis dirigé le parser vers les actions à faire en fonction du nombre de question UNE QUESTION ou PLUSIEURS. J'ai essayer avec la surcharge de la méthode parser, mais ce le ne peut fonctionner vu que le paramètre est de type String pour les deux cas ! Donc pour le moment , c'est soit un parser d'une question , soit un parser de plusieurs questions , en changeant getJsonArray avec getJson Object !!
PS: quelqu’un à des nouvelles de @JackDanny ?
heu ... j'ai pas tout compris... fait comme tu veut du moment que c'est correct.
Pour savoir si tu as un tableau ou juste un objet :
JSONTokener jsonT = new JSONTokener(reader);
o2 = new JSONObject(jsonT);
o2.optJSONArray("question")
o2 vaut null s'il n'y à pas de tableau associer je crois.
Fait des tests
Pas de new de @JackDanny
Ok @FlorentMouysset je vais faire comme ça et je vous tiens au courant !
@FlorentMouysset @RaphaelFOURQUET j'ai modifier le parser json pour qu'il puisse différencier entre une "question" et plusieurs "question" , le problème est régler ! Mais voilà que surgi un autre problème cette fois ci concernant les "answer" : Dans les deux cas ( une ou plusieurs questions ) "answer" est un array , mais le parser est Ok quand c'est une seule question , tandis qu'il déclare une erreur quand c'est plusieurs question ! Je ne comprend pas d’où viens le problème ni comment y remédier ! Vous pouvez faire un pull est tester sur vos pc pour voire un peu de quoi je parle !
Je vois pas pourquoi tu touche aux answer? C'est le XMLWriter qui s'en charge puisque son interface réclame juste les questions.
Si c'est le parsing qui génère les erreurs cela signifie que ton Json n'est pas correct.
@FlorentMouysset je sais plus quoi faire , ce problème est incompréhensible ! , je ne touche pas au "answer" à aucun moment ! Et il n'y aucune différence entre "answer" du fichier à une seule question et le "answer" du fichier à plusieurs question ! INCOMPRÉHENSIBLE ! :S
Je vais voir tout ça ...
Terminé
@JackDanny @smailGithub Avez-vous pris en compte le possibilité d'une seule question ? La méthode parse ne suffira pas. Proposez quelque chose de suffisant merci.