从SwiftyJSON获取nil,null或unknown

时间:2015-07-27 16:20:41

标签: swift swifty-json

{
    "locations": [
      {
         "id": "#######################",
         "slug": "some slug",
         "name": "some name",
         "address": "some address",
         "characteristic": false,
         "program_types": [
            "Program 1"
         ],
         "category 1": false,
         "category 2": true,
         "category 3": false,
         "category 4": 4,
         "category 6": 0,
         "latitude": #######,
         "longitude": -###.####
      },
   ]
}

上面是我想要与SwiftyJSON一起使用的JSON(只有很多单个条目)。我正在使用Alamofire获取数据,当我从Alamofire打印时,它显示得很好。

以下代码不起作用。我尝试过在各种网站上发现的多种内容。

var json = JSON(data!)  //data is from alamofire
let Name = json[0].string
println(Name)

返回`nil

此代码返回null

var json = JSON(data!)
let Name:JSON = json[0]["name"]
println(Name)

我不确定如何从JSON返回一个简单的值。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

@marcB想出了正确的答案。这只是一个不正确的秩序问题。

此代码
let Name:JSON = json[0]["name"]

应该是 let Name:JSON = json["locations"][0]["category"]

答案 1 :(得分:0)

检查json [0]

的类型

我的猜测是AnyObject

这意味着你需要像这样下传它

Let Name = json[0] as! [String:NSDictionary]