解析AlamoFire的JSON输出

时间:2015-06-22 21:26:10

标签: json swift nsurlrequest

我正在使用最新的Alamofire来管理我的服务器的GET http请求。我使用以下内容GET并解析JSON:

 Alamofire.request(.GET, "*******")
            .responseJSON {(request, response, JSON, error) in

                if let statusesArray = JSON as? NSArray{
                    if let aStatus = statusesArray[0] as? NSDictionary{

                        //OUTPUT SHOWN BELOW
                        println( "BREAKING DOWN \(aStatus)")

                        // This doesn't output anything?????
                        if let user = aStatus["title"] as? NSDictionary{
                            println( "TITLE \(user)")
                        }


                    }
                }

                println(JSON)

        }

GET请求有效,我面临的问题是尝试在JSON输出中定位标题键。 println没有输出任何内容。我可以很容易地在目标C中做到这一点,但出于某种原因,SWIFT让我感到困惑。 println

的输出
BREAKING DOWN {
    "__v" = 0;
    "_id" = 5588468c65340938150f674f;
    endDate = 1435004396596;
    fullDescription = "Neutra blog McSweeney's pug Austin, put a bird on it fanny pack. Try-hard jean shorts trust fund vinyl kale chips, blog distillery pickled synth. Tofu fap Intelligentsia umami, McSweeney's pork belly church-key literally roof party crucifix lumbersexual meditation irony four loko. Mlkshk tousled before they sold out pork belly. PBR&B craft beer Tumblr, trust fund swag chillwave Truffaut.Retro cray narwhal 3 wolf moon. Pug master cleanse dreamcatcher, Vice Blue Bottle next level Helvetica messenger bag distillery chillwave pickled tattooed wayfarers DIY cold-pressed.";
    shortDescription = "Neutra blog McSweeney's pug Austin, put a bird on it fanny pack.";
    startDate = 1434994316596;
    title = "Artisanal Yoghurt";
}

1 个答案:

答案 0 :(得分:1)

如果我相信aStatus的println,则属性title是字符串,而不是字典。

在代码中更改此部分(强制转换为String而不是NSDictionary):

if let user = aStatus["title"] as? String {
    println( "TITLE \(user)")
}