Swift:检查Array的字典对象类型

时间:2016-04-23 18:36:09

标签: arrays json swift dictionary

我正在阅读一个JSON文件,其中有一些项目是一个对象中的数组,但在其他对象中是单独的值。

}

我将JSON拉入字典。

{
    "trucks":[
       {
           "name":"Red Truck",
           "colour":"Red"
       },
       {
           "name":"Blue-Silver Truck",
           "colour":[
                      "blue",
                      "silver"
           ]
       }
 }

swift中有没有办法确定字典中的对象类型?

由于

格雷格

1 个答案:

答案 0 :(得分:4)

是的,您可以使用可选的绑定和向下转换,如下所示:

if let trucks = jsonResult["trucks"] as? [[String:AnyObject]] {
    for truck in trucks {
        if let colourString = truck["colour"] as? String {
            // it's a String
        } else if let colourArray = truck["colour"] as? [String] {
            // it's an Array of Strings
        } else {
            // it's something else or nil
        }
    }
}