J'ai des données JSON que je reçois d'un serveur. Dans mon JavaScript, je veux effectuer un tri sur ces données. Je pense que la fonction sort() fera ce que je veux.
Cependant, il semble que Javascript convertisse les données JSON en objets dès leur arrivée. Si j'essaie d'utiliser la méthode sort(), j'obtiens de nombreuses erreurs (en utilisant Firebug pour les tests).
J'ai cherché sur le net, et tout le monde semble dire que, d'une part, les objets JSON sont déjà des tableaux Javascript, et d'autre part que les objets peuvent être traités comme des tableaux. Comme sur cette question où, dans l'une des réponses, un type dit "L'objet [Object] est votre donnée - vous pouvez y accéder comme vous le feriez avec un tableau".
Cependant, ce n'est pas tout à fait vrai. Javascript ne me laisse pas utiliser sort() sur mon objet. Et comme l'hypothèse par défaut est qu'il s'agit de la même chose, il ne semble pas y avoir d'instructions sur la façon de convertir un objet en tableau, ou de forcer Javacript à le traiter comme tel, ou quoi que ce soit d'autre.
Alors... comment faire pour que Javascript me laisse traiter ces données comme un tableau et les trier ?
La sortie du journal de la console de mon objet ressemble à ceci (je veux pouvoir trier par les valeurs du "niveau") :
OBJET JSONdata
{
1: {
displayName: "Dude1",
email: "dude1@example.com<mailto:dude1@example.com>",
lastActive: 1296980700,
level: 57,
timeout: 12969932837
}, 2: {
displayName: "Dude2",
email: "dude2@example.com<mailto:dude2@example.com>",
lastActive: 1296983456,
level: 28,
timeout: 12969937382
}, 3: {
displayName: "Dude3",
email: "dude3@example.com<mailto:dude3@example.com>",
lastActive: 1296980749,
level: 99,
timeout: 129699323459
}
}