2016-07-09 6 views
0

Ich versuche, den Wert in einem '(String, JSON)'Wie JSON für den Zugriff auf in '(String, JSON)'

Wenn gedruckt das ganze SwiftyJSON Objekt aussieht wie zu bekommen:

("0", { 
    "created_at" : "2016-05-01T14:39:10.000Z", 
    "user_id" : 2, 
    "id" : 75, 
    "item_id" : 172, 
    "updated_at" : "2016-05-01T14:39:10.000Z" 
}) 

Angenommen, das Objekt aufgerufen wird:

let item_id = jstring_info[1]["item_id"] 

so dass: jstring_info

ich dies tun möchte 10 würde geben 172

Aber das ist nicht die richtige Syntax, und ich kann es nirgendwo online finden.

Der Fehler, dass der obige Code gibt, ist Type 'Element' (aka '(String, JSON)') has no subscript members

+0

Bist du sicher, dass es ein JSON ist? Ich denke nicht. –

+0

@AlvinVarghese es ist ein SwiftyJSON Objekt – Moritz

+0

Es ist Tuple, so dass Sie leicht zugreifen können, indem Sie die Instanz eingeben, der Xcode wird die Innenobjekte für Sie automatisch vervollständigen. Und wenn Sie diesen JSON-Wert erhalten, können Sie auf den Schlüssel "item_id" zugreifen. Ist es nicht richtig? –

Antwort

1

Es ist ein Tuple, so dass Sie es so zugreifen.

let itemId = jstring_info.1["item_id"] 

Starten Sie einfach die Instanz in Sie Code eingeben, Xcode wird die Objekte innerhalb des Tupel automatisch vervollständigt, nach dem JSON Objekt auswählen, die Sie den Schlüssel innen darauf zugreifen können.

Dieses Beispiel wird Ihnen ein wenig helfen.

 let person : (String,Int) = ("alvin", 789) 
     person.0 // represents String alvin 
     person.1 // represents Integer 789 

Und das

 let person : (name : String,age : Int) = ("alvin", 789) 
     person.name // represents name alvin 
     person.age // represents age 789