2014-12-18 3 views
-2

Я уже создаю простой код фрагмента внутри моего проекта iOS. Но я не знаю, как обрабатывать данные JSON, поэтому я могу просмотреть его в своем приложении. У меня две проблемы.Swift - Как обрабатывать данные JSON

  • как читать список задач
  • как прочитать конкретные детали задачи

мой код

var url : String = "http://demo.revivalx.com/todolist-api/get_all_tasks.php" 
     var request : NSMutableURLRequest = NSMutableURLRequest() 
     request.URL = NSURL(string: url) 
     request.HTTPMethod = "GET" 

     NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in 
      var error: AutoreleasingUnsafeMutablePointer<NSError?> = nil 
      let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary 

      if (jsonResult != nil) { 
       //handling JSON data here 
       let tasks = jsonResult["tasks"] as? NSArray 
       let task = tasks[0] as? NSDictionary 
       let taskName = task["name"] as? NSString 
      } else { 
       // couldn't load JSON, look at error 
      } 

     }) 

мой ответ

{ 
    "tasks": [{ 
     "taskId": "27", 
     "name": "testy", 
     "description": "ggg", 
     "dateCreated": "2014-12-03 17:01:00", 
     "dateUpdated": "2014-12-03 17:01:00" 
    }, { 
     "taskId": "28", 
     "name": "asd", 
     "description": "asda", 
     "dateCreated": "2014-12-04 12:21:54", 
     "dateUpdated": "2014-12-09 10:39:26" 
    }, { 
     "taskId": "29", 
     "name": "asd", 
     "description": "asd", 
     "dateCreated": "2014-12-04 12:21:58", 
     "dateUpdated": "2014-12-09 10:39:47" 
    }], 
    "success": 1 
} 

Пожалуйста, советы. TQ

ответ

0

Для получения всех задач:

if let tasks = jsonResult["tasks"] as? NSArray  // All Task 
{ 
    if let task = tasks[0] as? NSDictionary   // Single task 
    { 
     if let taskName = task["name"] as? NSString // Task name 
     { 
      println(taskName) 
     } 
    } 
} 

Подобно выше, вы с помощью ключа, как индекс вы можете получить все данные.

+0

как насчет jsonResult ["tasks"] [0], скажем, я хочу отображать taskid, имя, описание, дату и дату обновления? –

+0

@ Dato'MohammadNurdin: Вы можете использовать как 'tasks [indexOfObject] [" taskId "]'. Пожалуйста, проверьте отредактированный ответ –

+0

Я получил это сообщение об ошибке, не имеет члена с индексом –

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