J’ai une question concernant JSON. J’utilise un plugin JQuery qui attend la structure JSON comme ci-dessous:
[ { key: "Id" }, { key: "Username" }, { key: "Age" } ],
mais mon JSON ressemble à:
[{ "Employee1": { "ID": 43036, "Name": XYZ, "Age": 21 }, "Employee2": { "ID": 30436, "Name": MNP, "Age": 23 } }]
Maintenant, je ne veux pas changer mon code, existe-t-il une solution pour pouvoir passer Id, Name à mon plugin json sans utiliser “Employee”. J’ai besoin de mon JSON en tant que:
[ { "ID": 43036, "Name": XYZ, "Age": 21 }, { "ID": 30436, "Name": MNP, "Age": 23 } ]
Merci d’avance
Quelque chose comme ça?
var myObj = [{ "Employee1": { "ID": 43036, "Name": XYZ, "Age": 21 }, "Employee2": { "ID": 30436, "Name": MNP, "Age": 23 } }]; var jsonObj = []; $.each(myObj[0], function(key, val){ jsonObj.push({ key: val.ID }); jsonObj.push({ key: val.Name }); jsonObj.push({ key: val.Age }); });
Qu’est-ce que vous avez besoin d’une fonction simple pour pousser les valeurs à l’intérieur de l’object,
var data = [{ "Employee1": { "ID": 43036, "Name": 'XYZ', "Age": 21 }, "Employee2": { "ID": 30436, "Name": 'MNP', "Age": 23 }}]; data = data[0]; var output = []; for (i in data) { output.push(data[i]); }
DEMO
Remarque: le JSON que vous avez publié n’était pas valide, XYZ et MNP sont des valeurs de chaîne et je suppose que les autres chiffres aussi .. Je vous laisse la validation.