Swift: Manipulation de JSON avec Alamofire & SwiftyJSON
C'est sûr d'être posée plusieurs fois, mais je n'ai pas encore trouvé la bonne réponse, bien que j'ai été à la recherche très difficile.
- Je utiliser Alamofire et SwiftyJSON et mes données JSON ressemble à ça:
{
"528" : {
"name" : "Name 1",
"id" : "528",
"product_id" : null,
"visible" : "0",
"level" : "2"
},
"29" : {
"name" : "Name 2",
"id" : "29",
"product_id" : null,
"visible" : "1",
"level" : "1"
},
"173" : {
"name" : "Name 3",
"id" : "173",
"product_id" : null,
"visible" : "0",
"level" : "2"
},
"143" : {
"name" : "Name 4",
"id" : "143",
"product_id" : null,
"visible" : "1",
"level" : "2"
},
...avec ce code:
Alamofire.request(.GET, dataURL, parameters: nil, encoding: .JSON)
.responseJSON { (request, response, jsonData, error) in
let json = JSON(jsonData!)
println(json)
}
...donc tout devrait bien se passer avec JSON
- Comment puis-je accéder à ces données? Je veux dire, comment puis-je obtenir les noms des identifiants, des product_ids etc
- Comment puis-je mettre des données (nom) à mon TableViewController?
Eh bien, vous avez un objet JSON contenant d'autres objets JSON. Ce qui signifie un dictionnaire contenant d'autres dictionnaires. Juste à y accéder. (Astuce: Lire la documentation.)
OriginalL'auteur vk72 | 2014-10-31
Vous devez vous connecter pour publier un commentaire.
Je suis en utilisant à la fois SwiftyJSON et Alamofire dans un de mes projets. Voici comment je l'utilise.
Code
delegate
devrait êtredelegate: APIProtocol?
de sorte que le rappel est facultatif.Oui! Bon appel. Je pense que j'ai fait changé le code dans mon projet pour refléter cela.
Ce modèle ressemble beaucoup. Cependant, il semble y avoir un bug dans votre code d'inscription ci-dessus. La classe ActivityViewController devrait mettre en œuvre APIProtocol et pas APIController.
Je suis content que vous l'aimez! Et, merci de remarquer mon erreur de frappe. J'ai fixé comme vous l'avez suggéré.
OriginalL'auteur Jonathan
Les accesseurs (pour SwiftyJSON au moins) de travail comme:
Plus d'informations sur la façon d'utiliser SwiftyJSOn peuvent être trouvés ici dans la documentation officielle: https://github.com/SwiftyJSON/SwiftyJSON
Sur la façon de mettre les données dans un UITableView, il existe de nombreuses méthodes. Configurer un UITableView cellule, puis les charger dans les données JSON dans une sorte de tableau par exemple.
OriginalL'auteur Glynbeard
Vérifier ce repo pour un exemple de déclarer comment utiliser Alamofire dans votre code et comment créer des modèles avec swift et l'analyse des réponses JSON
Définir ces variables dans vous classe
Ensemble de la mise en œuvre de cette fonction
Pour plus d'informations:
https://github.com/AhmedAskar/WestWing
OriginalL'auteur Ahmed Askar
Suivante devrait fonctionner pour vous :-
Remarque: Pas besoin d'utiliser Swifty JSON comme Alamofire permet une réponse JSON qui peut être pris en charge directement à l'intérieur ".responseJSON".
OriginalL'auteur MShah
Appel De La Méthode
laisser aParams : [String : String] = ["DeviceIDString", "DeviceType" : "iOS", ]
mais un WebServiceHelper classe pour obtenir et méthode post avec l'image de la méthode de téléchargement dans l'ensemble de l'application
OriginalL'auteur Nikunj Patel