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

JavaScript Discussion :

Calculer nombre de lignes d'un fichier JSON


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut Calculer nombre de lignes d'un fichier JSON
    Bonjour,

    J'aimerais savoir comment calculer le nom d'enregistrements d'un fichier JSON.

    J'ai vu quelque part sur le Web la fonction RecordCount mais peut être qu'il faut une librairie pour l'utiliser.

    Je vous montre mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    var JsonDoc = eval('"'+_xmlHttp.responseText+'"')
     
    // Transformation JSON en tableau
    function traiteJsonSuggestions(JsonDoc) {
      var optionsListe = new Object();
       for (var i=0; i < JsonDOc.RecordCount; ++i) {
        optionsListe["sexe"].push(res.sexe[i]);
        optionsListe["nom"].push(res.nom[i]);
        optionsListe["prenom"].push(res.prenom[i]);
        optionsListe["age"].push(res.age[i]);
        optionsListe["id"].push(res.id[i]);
      }
      return optionsListe;
     }
     
    var liste = traiteJsonSuggestions(JsonDoc)
    Si vous voyez une autre façon de faire n'hésitez pas.

    Merci pour vos réponses.

    Mélanie

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    a priori, une fois récupéré, un objet Json est un tableau (array).
    Un .length ne fonctionne pas ?

    A+

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,
    a priori, une fois récupéré, un objet Json est un tableau (array).
    Un .length ne fonctionne pas ?

    A+
    Un objet JSON n'est pas un tableau, c'est un objet, tu peux très bien te retrouver avec un tableau ou bien avec un objet.

    Il faudrait voir le contenu du fichier JS et on t'expliquera comment faire.

    Avec firebug tu fais un console.dir(JsonDoc); et à partir de là tu verra la tête de ton objet.

  4. #4
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut
    Mon fichier JSON à cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"sexe":"Homme","nom":"Chevalier","prenom":"Thierry","age":44,"id":"7"}{"sexe":"Femme","nom":"Colin","prenom":"Pascale","age":44,"id":"14"}
    etc ...

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    on ne parle pas de ligne mais d'elements ou de membres ...
    je t'ai donné une boucle sur l'autre post ... suffit d'incrémenter une variable dedans ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,
    a priori, une fois récupéré, un objet Json est un tableau (array).
    Un .length ne fonctionne pas ?

    oui, un .length est largement suffisant, encore faut-il connaitre la bonne syntaxe :

    NbElems = Object.keys(variable_JSON).length;


  7. #7
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Ne pas confondre JSON et objet JavaScript. Le JSON est un format avec des règles strictes, tandis qu'un objet JS peut être déclaré de plusieurs façons avec beaucoup plus de souplesse, car le parser est plus tolérant.

    Pour transformer une String JSON en objet JS, il ne faut surtout pas utiliser eval() comme montré dans le code du premier post: c'est le meilleur moyen d'ouvrir des failles de sécurité XSS sur son site. Il faut utiliser JSON.parse qui est fait pour ça.

    Le JSON tel que présenté dans le dernier post de Melex est invalide: pour avoir une liste d'objets, il faut les séparer par des virgules et encadrer le tout avec des crochets [] . Utilisez un validateur JSON pour vérifier que vos réponses sont valides, ou mieux, utilisez des fonctions dédiées côté serveur pour sérialiser en JSON plutôt que de composer la String JSON vous-même en mode patchwork.

    @psychadelic: vu le code montré par Melex, je doute qu'un Object.keys().length soit ce qu'elle recherche

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

Discussions similaires

  1. Calcul du nombre de lignes dans un fichier texte en JavaScript
    Par developppez dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 29/08/2017, 08h13
  2. [C#] Nombre de lignes d'un fichier xls (Excel)
    Par BouB dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/03/2009, 10h58
  3. Nombre de ligne d'un fichier
    Par charliejo dans le forum MFC
    Réponses: 4
    Dernier message: 07/04/2005, 10h10
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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