2017-11-09 3 views
0

Ich habe ein jsonArray Daten wie folgt aus:Swift4 Json Parse Alamofire Set Struct

[ 
    { 
     "data1":"data1", 
     "data2":"data2", 
     "data3":"data3", 

     }, 
     { 
     "data1":"data1", 
     "data2":"data2", 
     "data3":[ 
       { 
       "data1":"data1", 
       "daya2":"data2" 
       }]   
    } 
] 

Data3 eine Zeichenfolge oder String-Array wie oben sein kann. Meine Struktur ist:

struct Datas: Decodable{ 
     let data1: String? 
     let data2: String? 
     let data3: String? 
     } 

Es gibt kein Problem, wenn data3 String ist, aber ich erhalte eine Fehlermeldung, wenn data3 Array "Erwartetes String zu entschlüsseln, aber einen Array statt gefunden.", UnderlyingError: null))

Ich kann das nicht lösen. Was ist der Typ von Data3? Jedes Objekt funktioniert nicht.

+1

Mögliches Duplikat von [json swift4 wie man die Struktur setzt?] (Https://stackoverflow.com/questions/45782706/json-swift4-how-to-set-the-struct) – ivarun

Antwort

0

Statt AnyObject möchten Sie wahrscheinlich stattdessen den Typ Any verwenden. Verwenden Sie dann eine if let, um entweder zu Array oder String zu konvertieren. Sie können auch die sehr hilfreiche Bibliothek SwiftyJSON verwenden, um bei der Verarbeitung von JSON-Objekten zu helfen.