SwiftyJSON 读取 JSON 数组问题

SwiftyJSON Reading JSON Array issue

我正在尝试使用我的代码读取如下所示的 json 数组数据,但是在我可以打印整个数据时我一直得到空结果。请问我的问题在哪里?

我已经阅读了这个主题,但我无法得到结果。 Topic Link

{"Cars":[{"Brand":"Alfa Romeo"},{"Brand":"Audi"},{"Brand":"BMW"},{"Brand":"Citroen"},{"Brand":"Dacia"},{"Brand":"Fiat"},..........

我的代码

    func getData(){

    var url = "http://test.net/services/test.php"
    var request = HTTPTask()
    request.GET(url, parameters: nil, completionHandler:
        {
            (response:HTTPResponse) in

            var jsonData = response.responseObject as! NSData
            var json = JSON(data: jsonData)

            println("All data \(json)")

            dispatch_async(dispatch_get_main_queue(),
                {
                    println(json["Cars"]["Brand"].stringValue)
            })
    })
}

json["Cars"] 是一个数组,因此例如通过 SwiftyJSON 获取第一项:

println(json["Cars"][0]["Brand"].stringValue)

在JSON字符串中,{}是字典的分隔符,而[]是字典的分隔符数组。

编辑:

根据您的评论,是的,您可以遍历数组:

if let cars = json["Cars"].array {
    for car in cars {
        println(car["Brand"])
    }
}

这样您就可以使用 SwiftyJSON:

获取您的 json 对象
//Get your Data First
let json = JSON(data: data)

//Store your values from car key into Car object so we can get total count.
let Cars = json["Cars"].arrayValue

//Use For loop to get your car Brand 
for i in 0..<Cars.count
{
    println(json["Cars"][i]["Brand"].stringValue)
}

你的输出将是:

Alfa Romeo
Audi
BMW
Citroen
Dacia
Fiat

希望这是你需要的。