2016-06-02 9 views
0

Ich habe ein JSON-Array var array: [JSON] = [], das ich als 'normales' Array darstellen möchte, damit ich etwas filtern und andere Daten manipulieren kann. Was wäre der vorgeschlagene Ansatz dafür?Wie man ein JSON-Array mit SwiftyJSON in ein Array umwandelt

Ich habe let filteredArray = array.arrayValue.filter {$0["submission_id"] as! Int == 27} versucht, aber ich wurde dieser Fehler ausgelöst

Wert vom Typ '[JSON]' hat kein Mitglied 'arrayValue'

+0

Welche Bibliothek haben Sie die JSON parsen mit? – Thilo

+0

Ich benutze swiftyjson und alamofire – noobdev

+0

Wenn der Typ '[JSON]' ist, dann ist das schon ein "normales Array". 'array.filter' sollte funktionieren. – Thilo

Antwort

2

A SwiftyJSON Objekt einen Index und Inhalt hat.

Um ein SwiftyJSON-Objekt zu filtern, können Sie filter verwenden, aber Sie müssen auf den zweiten Teil des Tupels filtern, den Inhalt.

Außerdem sollten Sie die von SwiftyJSON generierte .int-Eigenschaft verwenden, wenn Sie den Int-Wert erhalten möchten.

Beispiel:

let filtered = json.filter { $0.1["submission_id"].int == 27 } 

Sie können aber auch den Inhalt des SwiftyJSON Objekt extrahieren ein Swift-Array zu erhalten, mit .arrayObject.

Dann würden Sie wie folgt filtern:

if let array = json.arrayObject { 
    let filtered = array.filter { $0["submission_id"] as? Int == 27 } 
} 
Verwandte Themen