Ios SwiftyJSON-是否可以检查对象类型?
例如,我有一个jsonIos SwiftyJSON-是否可以检查对象类型?,ios,swifty-json,Ios,Swifty Json,例如,我有一个json var json=json(数据:data!) 在它里面我引用了对象 var list=json[“对象”] 有没有一种方法可以检查它是对象、数组还是字符串并返回bool 没用变量列表将始终是JSON类型。我想找到一种方法来检查里面的东西。看看这个例子: //let json = ["OBJECT":"stringvalue"] let testArray = [1,2,3] let json = ["OBJECT":testArray] if let element
var json=json(数据:data!)
在它里面我引用了对象
var list=json[“对象”]
有没有一种方法可以检查它是对象、数组还是字符串并返回bool
没用<代码>变量列表将始终是JSON
类型。我想找到一种方法来检查里面的东西。看看这个例子:
//let json = ["OBJECT":"stringvalue"]
let testArray = [1,2,3]
let json = ["OBJECT":testArray]
if let element = json["OBJECT"] {
if element is String {
print("yes")
}
switch element {
case is String:
print("is string")
case is Array<Int>:
print("is array of int")
default:
print("is something else")
}
}
//让json=[“对象”:“stringvalue”]
设testArray=[1,2,3]
让json=[“OBJECT”:testArray]
如果let element=json[“OBJECT”]{
if元素是字符串{
打印(“是”)
}
开关元件{
大小写为字符串:
打印(“是字符串”)
案例是数组:
print(“是int的数组”)
违约:
打印(“是其他东西”)
}
}
SwiftyJSON中的JSON对象有一个类型为enum
public enum Type: Int {
case number
case string
case bool
case array
case dictionary
case null
case unknown
}
比如说
var list = json["OBJECT"]
switch list.type {
case .array: print("list is Array")
case .dictionary: print("list is Dictionary")
default: break
}
的可能重复解释了为什么不重复。通过网络接收的大多数JSON字符串都是不同的–至少它们返回的集合类型–因此您应该“知道”而不是“猜测”。您确实有时间进行注释和编辑。我建议你花点时间挑选一个答案。当我尝试这个时,我得到。。。模式不能在两种情况下都匹配“type”错误类型的值lines@SamLuther在Swift 3+中,枚举大小写为小写。我更新了答案。