2017-01-22 1 views
0

Я работаю над проектом, и мой файл JSON, который я получаю с веб-сайта, не имеет (ключа) для меня, чтобы начать мой синтаксический анализ. Итак, когда я использую строку в коде, let userInfo = swiftyJSON[].arrayValue Я получу всю информацию из файла JSON. Моя проблема в том, что мне нужно проанализировать ее дальше, чтобы я мог заполнить UITableView, и я не могу описать его более конкретно.Parsing JSON с SwiftyJSON

Это код из моего JSON

let externalURL = "http://jsonplaceholder.typicode.com/users" 

func getJSON(){ 
      let url = URL(string: externalURL) 
      let request = NSURLRequest(url: url! as URL) 
      let session = URLSession(configuration:URLSessionConfiguration.default) 
      let task = session.dataTask(with: request as URLRequest) {(data, response, error) -> Void in 
       if error == nil { 
        let swiftyJSON = JSON(data: data!) 
        let userInfo = swiftyJSON[].arrayValue 
        print(userInfo) 
    } 
       else{ 
        print("There was an error") 
       } 
      } 
      task.resume() 
     } 
+0

'Моя проблема в том, что мне нужно проанализировать ее дальше, чтобы я мог заполнить UITableView, и я не могу описать ее, чтобы быть более конкретным.' У нас недостаточно информации, чтобы помочь вам. Что такое схема JSON. Как вы хотите, чтобы ваш синтаксический анализ был «более конкретным?» – JAL

+0

Я хотел бы получить только несколько бит информации от JSON (т. Е. Имя, телефон и адрес электронной почты). '[ { "Идентификатор": 1, "имя": "Лиан Грэм", "имя пользователя": "Брет", "электронная почта": "[email protected]", "адрес": { "улица": "Kulas Light", "люкс": "Apt 556.", "город": "Gwenborough", "почтовый индекс": "92998-3874", "гео": { "лат" : "-37.3159", "lng": "81.1496" } }] ' – Ingelbert

+0

Если вы просматриваете URL-адрес [http://jsonplaceholder.typicode.com/users], вы можете просмотреть весь файл. – Ingelbert

ответ

0

Отправной точкой:

let swiftyJSON = JSON(data: data!) 
if let userInfo = swiftyJSON.array { 
    for user in userInfo { 
    print(user["name"].string, user["email"].string, user["phone"].string) 
    if let address = user["address"].dictionary { 
     print(address["city"]?.string) 
    } 
    } 
} 

Все печатные значения OPTIONALS.

+0

Спасибо. Итак, как я могу добавить эту информацию в 'UITableView, UITableViewCell'? – Ingelbert

+0

Это зависит от вашей модели источника данных (словарь, пользовательская структура/класс или что-то еще). – vadian

+0

Вышеприведенный код помещает его в словарь или находится в массиве прямо сейчас. Словарь проще? – Ingelbert

 Смежные вопросы

  • Нет связанных вопросов^_^