如何在Swift中处理JSON数据

穆罕默德·努尔丁(Mohammad Nurdin)

我已经在iOS项目中创建了一个简单的代码段。但是我不知道如何处理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
}
Midhun MP

要获得所有任务:

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

与上面类似,您可以使用键作为下标来获取所有数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章