Swift: der Umgang mit JSON mit Alamofire & SwiftyJSON
Dies ist sicher schon mehrfach gefragt, aber ich habe noch nicht die richtige Antwort, obwohl ich schon auf der Suche sehr schwer.
Benutze ich Alamofire und SwiftyJSON und meine JSON-Daten sieht so aus:
{
"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"
},
...mit diesem code:
Alamofire.request(.GET, dataURL, parameters: nil, encoding: .JSON)
.responseJSON { (request, response, jsonData, error) in
let json = JSON(jsonData!)
println(json)
}
...also sollte alles in Ordnung sein mit JSON
-
Wie kann ich Zugriff auf die Daten? Ich meine, wie bekomme ich die Namen, ids, product_ids etc
-
Wie kann ich diese Daten (Namen) zu meiner TableViewController?
- Naja, Sie haben ein JSON-Objekt mit anderen JSON-Objekte. Was bedeutet ein Wörterbuch mit anderen Wörterbüchern. Nur auf diese zugreifen. (Tipp: Lesen Sie die Dokumentation.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mit beiden SwiftyJSON und Alamofire in einem meiner Projekte. Hier ist, wie ich Sie benutze.
- Code
delegate
solltedelegate: APIProtocol?
so, dass der callback ist optional.Den Accessoren (für SwiftyJSON zumindest) arbeiten wie:
Mehr Informationen zur Verwendung SwiftyJSOn finden Sie hier in der offiziellen Dokumentation: https://github.com/SwiftyJSON/SwiftyJSON
Bezug auf, wie man die Daten in eine UITableView, gibt es viele Methoden. Einrichten einer UITableView Zelle und laden Sie dann in der JSON-Daten in einer Art array, zum Beispiel.
Überprüfen Sie diese repo ein Beispiel, die erklären, wie zu verwenden Alamofire in Ihren code und erstellen Modelle mit swift und Parsen von JSON-Antwort
Definieren, diese Variablen in die Sie Klasse
Gesetzt, die Umsetzung für diese Funktion
Weitere Informationen:
https://github.com/AhmedAskar/WestWing
Folgende arbeiten für Sie :-
Hinweis: Keine Notwendigkeit zu verwenden Swifty JSON als Alamofire ermöglicht eine JSON-Antwort, die direkt gehandhabt ".responseJSON".
Call Method
lassen aParams : [String : String] = ["DeviceIDString", "DeviceType" : "iOS"]