Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将JSON解析为UITableview_Json_Swift_Uitableview_Rest_Swift2 - Fatal编程技术网

如何将JSON解析为UITableview

如何将JSON解析为UITableview,json,swift,uitableview,rest,swift2,Json,Swift,Uitableview,Rest,Swift2,我必须在Swift 2.0中下载JSON文件并将其解析为UITableView 我真的不想使用像SwiftyJSON这样的第三方框架 我使用了一个swift文件,看起来有点像: [ { "id": "1", "title": "Test Shindig", "dateOfEvent": "2015-12-25 00:00:00", "totalGuests": 6 } ] 所以我有一系列字典 我正在努力解决的JSON是: { "guests": [

我必须在Swift 2.0中下载JSON文件并将其解析为UITableView

我真的不想使用像SwiftyJSON这样的第三方框架

我使用了一个swift文件,看起来有点像:

[
  {
   "id": "1",
   "title": "Test Shindig",
   "dateOfEvent": "2015-12-25 00:00:00",
   "totalGuests": 6
  }
]
所以我有一系列字典

我正在努力解决的JSON是:

{
  "guests": [
    {
     "id": "1",
     "firstName": "Burp",
     "lastName": "Derp",
    },
   ],
  "total": 6,
  "totalCheckedIn": 1
}
如果我没弄错的话,这是一个包含一个数组和两个整数的字典

无论我尝试什么,我都无法从API调用中得到任何回报

无论如何,我也没有办法改变JSON

我希望任何人都能帮助我


干杯,Niklas如果你不想使用任何第三方框架,你可以手动解析。最佳实践建议为来宾对象创建一个结构,为整个响应创建一个结构(GuestList)

这是一个包含大量
的快速实现,所以您应该小心。这段代码也没有经过测试,但它应该能让您很好地了解如何解析JSON响应

struct GuestList {
  var guests: [Guest]
  var total: Int
  var totalCheckedIn: Int

  init(data: [String: AnyObject]) {
    total = data["total"] as! Int
    totalCheckedIn = data["totalCheckedIn"] as! Int
    let list = data["guests"] as! [AnyObject]
    guests = [Guest]()

    for guest: [String: AnyObject] in list {
      guests.append(Guest(data: guest))
    }
  }
}


struct Guest {
  var id: Int
  var firstName: String
  var lastName: String

  init(data: [String: AnyObject]) {
    id = data["id"] as! Int
    firstName = data["firstName"] as! String
    lastName = data["lastName"] as! String
  }
}