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