如何在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 6的错误,还是我做错了什么?
回答:
Swift中的字典访问返回一个Optional,因此您需要强制该值(或使用if let
语法)来使用它。
这有效: parsedJSON["boards"]![0]
(不过,它可能不会使Xcode崩溃)
以上是 如何在Swift中解析的JSON中解析数组? 的全部内容, 来源链接: utcz.com/qa/411949.html