2015-01-05 6 views
-1

Я пытаюсь разобрать одно значение из веб-службы REST, которую я тестирую. Я понимаю, как сделать вызов, и я вижу ответ JSON в окне Output.Parsing JSON value с SwiftyJSON (и Alamofire)

let request = Alamofire.request(.GET, "http://IP:PORT/jsonTest", parameters: ["s": "Ping?"]) 
     .responseJSON{(_,_,data,_) in    
      var json = JSON(data!)     
      println(json) 

Консоль Output показывает мне:

{"NewDataSet":[ 
    {"Table1":[ 
     {"Column-A":"FirstA", 
     "Column-B":"FirstB" 
     }, 
     {"Column-A":"SecondA", 
     "Column-B":"SecondB" 
     }, 
     {"Column-A":"ThirdA", 
     "Column-B":"ThirdB" 
     } 
    ]} 
]} 

То, что я хотел бы сделать сейчас, чтобы отобразить только первое значение из колонки-А - в данном примере будет «FirstA».

Я пытался использовать код, подобный этому, но до сих пор я не получаю нигде ...

println(json[0][0]["Column-A"].stringValue) 

Любые указатели высоко ценится!

+0

У вас есть объект, содержащий запись с именем «NewDataSet». Эта запись представляет собой массив, содержащий объекты. Первый элемент массива содержит объект с элементом с именем «Tabel1». Этот элемент является массивом. Первый элемент массива - это объект, содержащий элемент с именем «Column-A». Кажется, вы проигнорировали все объекты, кроме последнего. –

ответ

0
json["NewDataSet"][0]["Table1"][0]["Column-A"].stringValue 

Это то, что вы хотите. Это потому, что ваш json начинается со словаря и отформатирован как словарь> массив> словарь> массив> словарь. Обратите внимание, что словари json отмечены символом {:,:}, а массивы отмечены как [,].