从facebook json响应中提取值

时间:2016-05-24 13:29:54

标签: ios json swift facebook-graph-api

我有来自FB的以下JSON响应:

result {
"age_range" =     {
    min = 21;
};
email = "ddsdasddsadas@gmail.com";
gender = male;
id = xxxxxxxxx;
name = "a b";
}

我使用

提取每个元素
let name: String? = result["name"] as? String

这很好用,但我不知道如何从min中提取maxage_range字段。我试过用 let min: String? = (result.valueForKey("age_range")).valueForKey("min")但是这会返回空指针异常。

enter image description here

2 个答案:

答案 0 :(得分:1)

忘掉那些愚蠢的注释。他们弊大于利。

永远不要使用valueForKey来解析JSON,只需使用密钥订阅。

从FB文档中min显然是一个整数。

if let ageRange = result["age_range"] as? [String: Int], min = ageRange["min"] {
    print(min)
}

答案 1 :(得分:0)

 if let age_range = result.valueForKey("age_range") as? NSDictionary {
let min: String? = age_range["min"] as? String // or as! Int if integer
}