IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML/XSL et SOAP Discussion :

Convertir XML en JSON


Sujet :

XML/XSL et SOAP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Convertir XML en JSON
    Bonjour,

    j'aimerai savoir si il est possible de convertir un fichier XML de 531mo en fichier JSON avec du C++ ou javascript

    merci de votre aide

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    c'est tout à fait possible, oui. Vu la taille il va falloir utiliser des API de streaming au lieu de tout charger en mémoire. Et côté JavaScript je connais rien qui fasse ça, mais tous les langages ont une API StAX pour lire du XML en streaming. Pour écrire le JSON en streaming là je ne sais pas ce qui existe avec ces langages, mais ça devrait aller en cherchant.

    Reste à déterminer comment tu veux convertir le XML en JSON précisément. Ces deux langages ne sont pas équivalents et aucun ordinateur ne va décider à ta place par quel JSON remplacer quelle balise XML. C'est ton travail de décider ça.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2017
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    J'ai trouvé ce lien pour une conversion en c++, je suis sur codeBlock mais je ne vois pas comment utiliser les ressources données pour réaliser cette conversion.

    https://github.com/Cheedoong/xml2json


    Mon but est de récupérer sans header et footer les informations à partir de cette balise jusqu’à sa fin et de transformer tout son contenu en JSON
    Il y a plusieurs bloc TradeMark
    <TradeMark operationCode="Insert">
    </TradeMark>

    <TradeMark operationCode="Insert">
    </TradeMark>

    <TradeMark operationCode="Insert">
    </TradeMark>

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ça fait 15 ans que je n'ai plus fait de C++ et je n'ai pas d'environnement de dev sous la main pour regarder comment utiliser telle ou telle bibliothèque.

    En tout cas je doute que celle-ci puisse te convertir des fichiers de 850Mo sans des contraintes très déraisonnables sur la mémoire (après, peut-être que tu peux les supporter, je ne sais pas.) Elle charge tout le XML d'entrée depuis une string et renvoie une autre string en résultat. Ce qui sous-entend qu'en plus en interne elle charge des représentations intermédiaires des données pour les traiter, ce qui nous fait au minimum trois copies complètes en mémoire du XML de départ (et la représentation mémoire est bien plus lourde qu'un simple texte.)

    Par ailleurs, cette bibliothèque fait la conversion à ta place, c'est à dire qu'elle choisit elle-même par quel JSON remplacer quel XML. J'ai dit qu'un ordinateur ne peut pas faire ça, mais je voulais dire, pas si on veut que ça serve à quelque chose.
    Est-ce que tu as regardé quel genre de conversion est faite par cette bibliothèque ? Est-ce qu'on peut s'arrêter deux secondes et essayer d'imaginer du JSON plus pourri et inexploitable que ça ? Si c'est pour faire du JSON qui ne servira jamais à rien, il vaut mieux se passer de faire une conversion et garder le XML de départ, lui au moins on peut s'en servir.

    Cette bibliothèque peut avoir un intérêt si tu as un client ou un partenaire stupide qui ne connaît rien aux formats mais qui refuse le XML et n'accepte que le JSON, sans se demander si le JSON vaut quelque chose ou si c'est de la merde.
    Ou alors, lorsqu'il se trouve qu'on avait conçu le XML dès le départ pour que cette bibliothèque le comprenne bien et le convertisse bien.
    Dans ces cas-là, oui, elle fait le boulot à notre place sans qu'on se fatigue. Mais sinon ça n'a aucun intérêt de remplacer du XML par un truc inutilisable.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/09/2015, 00h35
  2. Convertir un fichier JSON dans un format XML en PHP
    Par imen.m dans le forum Langage
    Réponses: 6
    Dernier message: 11/09/2015, 16h46
  3. convertir XML en JSON
    Par fatimaezzahra125 dans le forum Format d'échange (XML, JSON...)
    Réponses: 22
    Dernier message: 07/02/2014, 17h53
  4. Convertir xml à json sencha touch 2
    Par Hasret dans le forum Ext JS / Sencha
    Réponses: 3
    Dernier message: 28/06/2013, 21h20
  5. [DOM XML] Convertir xml file dans DB mySQL
    Par patayotte dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/11/2006, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo