解析一个对象数组并填充表格视图单元格Swift

时间:2015-08-19 13:00:22

标签: javascript ios json swift mongodb

我有一个应用程序,我试图从我创建的API中提取数据(API基于 NODE.js,MongoDB,Express.js

目前我正在尝试拉取对象数组,然后根据该对象数组创建一个tableview。例如,如果对象数组包含4个对象,则表视图将包含4个单元格。在单击一个单元格时,我将转到另一个视图,在那里我将能够查看该对象的详细视图。

如何从API解析返回的JSON数据并填充表格视图单元格?

我的问题:

目前我无法解析返回的对象数组。下面是返回的JSON包含的图像:

enter image description here

错误:

我收到以下错误:

g++ throw.cc -o out -fno-exceptions.

以下是我的SWIFT代码:

Error could not parse JSON: Optional([
    {
       "_id": "55d1db984f80687875e43f89",
       "password": "$2a$08$OQB/r9iIZdSFlN9L5vaiE.qILB8gP/YtlsA3S41usVnM/eXHBW9j6",
       "email": "syed.kazmi26@gmail.com",
       "__v": 0,
       "sector": "Manufacturing",
       "jobTitle": "Something 1",
       "employeeName": "Something 1"
    },

   // it displays all the data being returned in JSON response

   ])

2 个答案:

答案 0 :(得分:2)

也许您可以尝试使用NSArray而不是Dictionary并更改阅读选项。我建议做某事。像这样:

var json : NSArray? = nil    
json = (NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers , error: &error) as? NSArray)!

希望能解决你的问题。

答案 1 :(得分:2)

而不是

var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSDictionary

应该是

var json = NSJSONSerialization.JSONObjectWithData(data, options: .MutableLeaves, error: &err) as? NSArray

因为您的回复内容是一个以 [开头的数组,实际上其元素的类型为NSDictionary。 如果是 [ {

,请始终寻找起始大括号。

JSON数组启动&以方括号结尾,JSON字典开始&以花括号结束。