2016-07-09 4 views
0

Я пытаюсь получить значение в '(String, JSON)'Как получить доступ к JSON в '(String, JSON)'

Когда напечатали весь объект SwiftyJSON выглядит следующим образом:

("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" 
}) 

Пусть объект называется: jstring_info

Я хотел бы сделать это:

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

так что print(item_id) даст 172

Но это не правильный синтаксис, и я не могу найти его нигде в Интернете.

ошибка, что приведенный выше код дает, Type 'Element' (aka '(String, JSON)') has no subscript members

+0

Вы уверены, что это JSON? Я так не думаю. –

+0

@AlvinVarghese это объект SwiftyJSON – Moritz

+0

Это кортеж, поэтому вы можете легко получить к нему доступ, набрав экземпляр, Xcode будет автозаполнять внутренние объекты для вас. И, получив этот JSON, вы можете получить доступ к ключу «item_id». Разве это не правильно? –

ответ

1

Это Кортеж, так что вы к нему доступ, как это.

let itemId = jstring_info.1["item_id"] 

Просто начните вводить экземпляр в вас код, Xcode автоматически заполнит объекты внутри кортежа, после выбора JSON объекта вы можете получить доступ ключа внутри него.

Этот пример поможет вам немного.

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

И это,

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