如何在Swift中解析的JSON中解析数组?

我正在使用一个API,该API返回如下所示的JSON

{

"boards":[

{

"attribute":"value1"

},

{

"attribute":"value2"

},

{

"attribute":"value3",

},

{

"attribute":"value4",

},

{

"attribute":"value5",

},

{

"attribute":"value6",

}

]

}

在Swift中,我使用两个函数来获取并解析JSON

func getJSON(urlToRequest: String) -> NSData{

return NSData(contentsOfURL: NSURL(string: urlToRequest))

}

func parseJSON(inputData: NSData) -> NSDictionary{

var error: NSError?

var boardsDictionary: NSDictionary = NSJSONSerialization.JSONObjectWithData(inputData, options: NSJSONReadingOptions.MutableContainers, error: &error) as NSDictionary

return boardsDictionary

}

然后我用

var parsedJSON = parseJSON(getJSON("link-to-API"))

可以很好地解析JSON。当我打印出

println(parsedJSON["boards"])

我得到了数组的所有内容。但是,我无法访问每个单独的索引。我很肯定这是一个数组,因为我之间

parsedJSON["boards"].count

返回正确的长度。但是,如果我尝试通过使用访问单个索引

parsedJSON["boards"][0]

XCode关闭语法高亮显示并给我以下信息:

XCode错误

并且代码将无法编译。

这是XCode 6的错误,还是我做错了什么?

回答:

Swift中的字典访问返回一个Optional,因此您需要强制该值(或使用if let语法)来使用它。

这有效: parsedJSON["boards"]![0]

(不过,它可能不会使Xcode崩溃)

以上是 如何在Swift中解析的JSON中解析数组? 的全部内容, 来源链接: utcz.com/qa/411949.html

回到顶部