In diesem Artikel geht es um die Verarbeitung von Daten im JSON-Format. JSON ist ein kompaktes Datenformat, welches zum Austausch von Daten zwischen verschiedenen Applikationen dient.

Ein Beispiel für ein JSON Dokument:

{
 "event": [
 {
 "date": "25.03.2016",
 "title": "Karfreitag"
 }]
}

Der Code besteht aus einem Array (event), welches die Elemente date und title enthält, welche jeweils einen String enthalten. Es ist in Swift vergleichbar mit einem Array, welches ein Dictionary enthält.

let event = [
 "date" : "25.03.2016",
 "title": "Karfreitag"
 ]

Im folgenden Swift Code geht es darum, dass der Inhalt aus date oder title in einem Array gespeichert wird:

let fileURL: NSURL = [#FileReference(fileReferenceLiteral: "document.json")#]
let data = NSData(contentsOfURL: fileURL)!
 
var titles = [String]()
 
do {
let json = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments)
 
 if let events = json["event"] as? [[String: AnyObject]] {
 for event in events {
 if let title = event["title"] as? String {
 titles.append(title)
}
}
} catch {
print("Fehler!")
 }

Bei einem JSON Code wie folgendem:

{
 "event": [
 {
 "date": "25.03.2016",
 "title": "Karfreitag"
 }, {
 "date": "27.03.2016",
 "title": "Ostersonntag"
 },{
 "date": "28.03.2016",
 "title": "Ostermontag"
 }]
}

Würde das Array titles lauten:

["Karfreitag", "Ostersonntag", "Ostermontag"]

Wie läuft der Swift Code ab?

  1. Die JSON Datei wird in einer Variable gespeichert (data)
  2. das leere Array wird erstellt
  3. Es wird nach „event“ im JSON Code gesucht, dann im „event“ des JSON Codes nach „title“
  4. Daraufhin wird der Inhalt aus „titles“ im Array gespeichert

 


Das fertige Xcode Projekt mit Kommentaren und Anmerkungen kann hier heruntergeladen werden:

DownloadBanner