arrays - Swift - 如何将 Any 转换为 Array\Dictionary?

标签 arrays swift casting swift4

我正在尝试解析一个包含字符串、整数和数组的数组的 json

所以我要迭代数组中的 json {["item1", 2, ["subItem1", "subitem2"] ]} 成员:

func parse(json : [Any])
for item in json{
    if let arr = item as? Array { //
         //do stuff for array
    } 
}

但是我得到了这个编译错误:

Generic parameter 'Element' could not be inferred in cast to 'Array<_>'

最佳答案

可选的将 item 绑定(bind)到不同的类型

for item in json {
    if let stringItem = item as? String {
         //do stuff for String
    } else if let intItem = item as? Int {
        //do stuff for Int
    } else if let arrayItem = item as? [String] {
       //do stuff for Array
    } else {
       // it's something else
    }
}

关于arrays - Swift - 如何将 Any 转换为 Array\Dictionary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51859628/

相关文章:

arrays - mongodb跨文档查找数组中的重复项

javascript - 将数组转换为键值对

ios - 如何在 Swift 中实现类似于抽象属性的计算属性?

在 C 中将 int 转换为 char 数组

java - 如何将两个字节变成 Long? 0x7 + 0x86 = 0x1c000

c - 带指针的多维数组中的数组大小

arrays - 如果我不提供类型注释,声明的 Swift 空数组将被视为 NSArray

ios - swift init 可选的数组包装

ios - 每隔一段时间将内容从 Parse 推送到 iOS 应用程序

java.lang.Object 无法转换为 java.nio.channels.SocketChannel