[RESOLU]Â [SWIFT] Comment ordonner du JSON ?
Bonjour,
Je me retrouve dans un cas où je dois ordonner du json, par défaut, le json n'est pas ordonné..
Voila le json que je reçois :
{
"Error": {
"Message": "",
"Code": 0
},
"Token": "xxx",
"Data": {
"Groupes" : {
"546" : {
"Id" : "546"
"Titre" : "blablabla"
"Ordre" : 1
}
},
"1265" : {
"Id" : "1265"
"Titre" : "blablabla"
"Ordre" : 2
}
},
"9976" : {
"Id" : "9976"
"Titre" : "blablabla"
"Ordre" : 3
}
}
}
J'utilise SwiftyJson pour manipuler le json et une fois que je crée mon objet SwiftyJson via mon json, je perds l'ordre (ce qui est normal vu que le json n'est pas ordonné)..
Du coup, avez-vous une solution / une idée afin de garder l'ordre ?
Comment vous faite pour garder un ordre ?
Merci de votre aide
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu veux dire que tu reçois un JSON que tu souhaites trier selon un critère ?
Personnellement, je ne vois pas d'ordre.
Tu as des dictionnaires qui fonctionnent par clé et non pas par index contrairement aux arrays.
J'ai cru voir qu'apparemment avec Swift on peut tout de même ordonner des dictionnaires, mais de mon point vue, ce n'est absolument pas fait pour ça, ça veut dire qu'il y a un soucis au niveau du modèle.
Larme : ouai je vois ce que tu veux dire quand tu dis qu'il n'y a pas d'ordre, c'est qu'un dictionnaire avec des clés..
Quand je le reçois de mon php, il est dans le bon "ordre" mais une fois traité via SwiftyJson, c'est normal qu'il ne le soit plus (il n'a rien pour se référer a cet ordre, d'où le fait que ce ne soit pas fait pour ça..)
As-tu un lien / un exemple pour ordonner du json ?
Quand tu dis "un soucis au niveau du modèle", c'est que je ne devrais pas utiliser un dictionnaire mais autre chose ?
Salut,
Tu peux “trier" ton JSON comme cela :
Le code est là uniquement pour te donner une idée du traitement à faire
Si l'ordre auquel tu te réfères correspond à l'ordre des clés récupère simplement toutes les clés et fait un tri selon ton critère. Tu pourras ainsi accéder aux données de ton dico dans l'ordre que tu veux avec une boucle sur ton tableau de clé.
Sinon d'une manière générale si des données sont stockés dans un dictionnaire c'est que l'ordre importe peu, sinon il faut utiliser un tableau.
Merci à vous 2 pour vos pistes..
En cherchant un peu dans cette direction, je suis tombé sur .sort()
Du coup, j'ai fais comme ça :
et je me retrouve bien avec mon json, trier sur l'ordre, donc nickel !
Cette solution à l'air plus simple mais personne ne l'a proposée.. il y a une raison à cette utilisation que je ne connais pas encore ? ^^
Je n'y vois aucun inconvénient simplement, je préfère utiliser : "sortInPlace" afin de ne pas avoir à allouer une seconde variable sachant que la 1er ne sera pas utilisée (si c'est le cas bien sur ^^)