返回一个空的JSON数组导致Swift中的越界错误

时间:2016-02-18 01:13:32

标签: ios arrays json swift dictionary

我在Swift中访问JSON数组:

genres: [
{
id: 6,
title: "Comedy"
}
],

我正在使用代码:

     if let genreInfo = jsonResult["genres"]?[0] as? [String: AnyObject]{
        let genre = genreInfo["title"] as? String
        genreArray.append(genre)
}

如果存在类型但是如果类型JSON数据是[]则有效,我得到一个数组越界错误。有没有办法重构它所以它不会导致错误?

1 个答案:

答案 0 :(得分:3)

问题是你假设,如果数组存在,那么它至少有一个值。这会导致你的问题。

试试这个

if let genreInfo = jsonResult["genres"]?.first as? [String: AnyObject] {
    let genre = genreInfo["title"] as? String
    genreArray.append(genre)
}