json - 如何将 JSON 解析为 UITableview

标签 json swift uitableview rest swift2

我必须下载 JSON 文件并将其解析为 Swift 2.0 中的 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
}

如果我没记错的话,那是一个包含数组和 2 个整数的字典

无论我尝试什么,我都无法从 API 调用中得到任何结果。

无论如何我也无法更改 JSON。

希望大家能够帮助我!

干杯,尼克拉斯

最佳答案

如果您不想使用任何第三方框架,您可以手动进行解析。最佳实践建议为 Guest 对象创建一个结构,并为整个响应 (GuestList) 创建一个结构。

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

这是一个带有大量 ! 的快速实现,因此您应该小心。该代码也未经测试,但它应该可以让您了解如何解析 JSON 响应。

关于json - 如何将 JSON 解析为 UITableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048816/

相关文章:

swift - 修改深度嵌套结构的简单方法

json - JSON 使用什么内容类型 header ? "application/json; charset=utf-8 "还是 "application/json"?

java - 如何指定 JSON 文件作为 JasperStarter 的数据源?

javascript - res.map() 不是一个函数,其中 res 是一个数组对象

uitableview - UITableView 不显示重新排序控件

ios - 当 "Hide Bottom Bar on Push"对于来自 Cell 的 segue 为真时,UITableView 跳转到顶部显示 SearchBar

ios - 是否可以从 NSIndexPath 获取 "global"索引?

javascript - 使用 JavaScript 从对象中删除空数组

ios - Swift 中的递归描述方法?

ios - 设置最大行可编辑 TextView - Swift/iOS