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 :

Création json avec un autre json


Sujet :

JavaScript

  1. #1
    Membre habitué
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Points : 159
    Points
    159
    Par défaut Création json avec un autre json
    Bonjour,

    Je suis confronté à un bon problème de logique. J'ai un JSON que je veux utiliser pour créer un autre JSON. Je m'explique.
    Voilà mon JSON:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var results = { rows: '[{"id":1,"name":"pierre"},{"id":2,"name":"paul"},{"id":2,"name":"jacques"}]' };
    On remarque qu'il y a 2 objets avec l'id 2. Je voudrai arriver à recréer une liste de ce type:
    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
    17
    {
    	"1": {
    		"id": 1,
    		"persons": [
    			{
    				"name": "pierre"
    			}
    		]
    	},
    	"2": {
    		"id": 2,
    		"persons": [
    			{"name": "paul"},
    			{"name": "jacques"}
    		]
    	}
    }
    Et là j'ai un sacré prob de logique et de technique pour arriver à mes fins. Je suis sur nodejs. J'utilise "underscore" pour parcourir l'array 'rows':
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var _ = require('underscore');
     
    var results = { rows: '[{"id":1,"name":"pierre"},{"id":2,"name":"paul"},{"id":2,"name":"jacques"}]' };
     
    var data = JSON.parse(results['rows']);
     
    console.dir(data);
     
    var array = [];
    _.each(data, function(item) {
      array[item.id] = item;
    });
     
    console.dir(array);
    Je suis preneur de votre grande expérience sur le sujet

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Pas besoin d’underscore, Node est ES6-savvy et tu peux utiliser une boucle for (of) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    var list = {};
    for (let row of rows) {
      if (!(row.id in list)) {
        list[row.id] = { id: row.id, persons: [] };
      }
      list[row.id].persons.push({ name: row.name });
    }
    console.dir(list);
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  3. #3
    Membre habitué
    Profil pro
    Expert technique
    Inscrit en
    Septembre 2003
    Messages
    328
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert technique

    Informations forums :
    Inscription : Septembre 2003
    Messages : 328
    Points : 159
    Points
    159
    Par défaut
    arff. super ça fonctionne. Il faut que j'essaie de travailler plus souvent avec le json ...

    Merci.

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

Discussions similaires

  1. Prise en main de JSON avec GWT
    Par GroXx dans le forum GWT et Vaadin
    Réponses: 5
    Dernier message: 05/02/2009, 12h47
  2. [POO] parcourir un objet json avec une boucle for in
    Par bucheron007 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 19/01/2009, 12h55
  3. Création d'un formulaire en liaison avec un autre
    Par totojordi dans le forum IHM
    Réponses: 2
    Dernier message: 23/06/2008, 14h24
  4. Création de fichier json avec PHP
    Par versus68 dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2008, 11h56
  5. [AJAX] Récupération d'un fichier JSON avec javaScript
    Par guerin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/11/2006, 19h05

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