2016-05-09 8 views
0

Ich versuche, before, range und after aus dem JSON unten zu trennen und sie in verschiedenen Arrays/Wörterbücher zu speichern. Allerdings kann ich nur range parsen. Kann mir bitte jemand mit einem Beispiel helfen?Lesen von JSON mit mehreren Wörterbüchern und Arrays in Swift

{ 
    "before": [ 
     { 
      "segment": 1, 
      "end": 0, 
      "size": 0 
     }, 
     { 
      "segment": 2, 
      "end": 0.01, 
      "size": 0.1 
     } 
    ], 
    "range": [ 
     100, 
     101, 
     102, 
     103, 
     104, 
     105, 
     106, 
     107, 
     108, 
     109, 
     110 
    ], 
    "after": [ 
     { 
      "segment": 1, 
      "end": 0, 
      "size": 0 
     }, 
     { 
      "segment": 2, 
      "end": 0.5, 
      "size": 0.1 
     }, 
     { 
      "segment": 3, 
      "end": 0.8, 
      "size": 0.3 
     }, 
     { 
      "segment": 4, 
      "end": 1, 
      "size": 0.5 
     } 
    ] 
} 

Antwort

1

Alles, was Sie tun müssen, ist den Inhalt auf den richtigen Typ zu übertragen.

Ihr JSON-Objekt ist ein Wörterbuch; "Vorher" ist ein Array von Wörterbüchern, "Nachher" ist ähnlich und "Bereich" ist ein Array von Inten.

Mit diesem Wissen ist es einfach zu entschlüsseln:

if let json = try? NSJSONSerialization.JSONObjectWithData(data, options: []) { 
    if let dict = json as? [String:AnyObject] { 
     if let before = dict["before"] as? [[String:AnyObject]] { 
      print(before) 
     } 
     if let after = dict["after"] as? [[String:AnyObject]] { 
      print(after) 
     } 
     if let range = dict["range"] as? [Int] { 
      print(range) 
     } 
    } 
} 
Verwandte Themen