2016-10-20 14 views
0

Ich versuche, JSON-Daten in einer Form von Dictionary zu analysieren. Das Wörterbuch wird jedoch als ein Array als Wert aus einem anderen Wörterbuch zusammengestellt. Um die Dinge am schlimmsten zu machen, ist der einzige Schlüssel, der von der API gegeben wird, der Wert der dritten Ebene (der das Array von Wörterbüchern ist). Irgendeine Idee, wie man die Daten innerhalb des Wörterbuches der ersten Ebene erhält?Wie man JSON-Daten aus dem Wörterbuch einbetten kann innerhalb eines Array eingebettet in einem Wörterbuch

-Code versucht:

if let valueTripleDictionary = jsonDataDictiony["value"] as? [String : AnyObject] 
    { 

     if let valueDoubleDictionary = valueTripleDictionary as? [String : AnyObject] 
     { 

      if let valueDictionary = valueDoubleDictionary as? [String : AnyObject] 
      { 

       self.busStopCode = valueDictionary["BusStopCode"] as? String 
       self.roadName = valueDictionary["RoadName"] as? String 
       self.busStopDescription = valueDictionary["Description"] as? String 
       self.busStopLatitude = valueDictionary["Latitude"] as? Double 
       self.busStopLongitude = valueDictionary["Longitude"] as? Double 


       print(busStopCode) 
       print(roadName) 
       print(busStopDescription) 
       print(busStopLatitude) 
       print(busStopLongitude) 

      } 

     } 

    } 

Dies ist ein Stück der JSON-Daten

["value": <__NSArrayI 0x7fe884d24f00>(
{ 
    BusStopCode = 01012; 
    Description = "Hotel Grand Pacific"; 
    Latitude = "1.29684825487647"; 
    Longitude = "103.8525359165401"; 
    RoadName = "Victoria St"; 
}, 
{ 
    BusStopCode = 01013; 
    Description = "St. Joseph's Ch"; 
    Latitude = "1.29770970610083"; 
    Longitude = "103.8532247463225"; 
    RoadName = "Victoria St"; 
} 
) 
] 

Antwort

1

value Schlüssel Array nicht Dictionary enthält, so dass Sie [[String : AnyObject]] statt [String : AnyObject] schreiben müssen.

if let array = jsonDataDictiony["value"] as? [[String : AnyObject]] { 
    for dic in array { 
      print(dic["BusStopCode"]) //Access other values same way 
    } 
} 
+0

vielen dank –

+0

Willkommen Kumpel :) –

Verwandte Themen