Alamofire在swift中解析并连接JSON

时间:2017-04-30 18:55:46

标签: swift alamofire

需要一些非常基本的帮助..我是swift的新手,无法在任何地方找到一个好的解决方案.. 我知道它非常基本,但JSON和Swift比我想的更难:')

Alamofire.request("https://website.com/foobar").responseJSON { response in    

    let title = ""
    var message = ""

    if let result = response.result.value {
        let JSON = result as! NSDictionary
        print(JSON) // prints correctly the json

        // {
        //     id: 29,
        //     title: "Foobar",
        //     email: "the@adress.nu",
        //     city: "Berlin",
        //     name: "John Doe",
        //     consumer_iban: null,
        //     updated_at: "2017-04-18 23:47:44"
        // }

        for(key,value) in JSON{
            print("key \(key) value2 \(value)") 
            // this is correct shown too
        }
    }

但我想要的是以下内容:

if(key == "title") {
    title = value;
}
else {
    message += (\(key): \(value))
}

但是那个连接并将字符串称为字符串doensn无法正常工作。

2 个答案:

答案 0 :(得分:0)

你可以做到

let title = JSON["title"]

答案 1 :(得分:0)

首先不要在Swift中使用NSDictionary,否则会丢弃类型信息

let JSON = result as! [String:Any]

问题是缺少双引号,你需要那些用于String Interpolation。

if key == "title" {
    title = value
}
else {
    message += "\(key): \(value)"
}

顺便说一句:Swift中不需要围绕if条件和分号的括号