我试图更好地理解每个地方都有不同的用例。
据我了解:
- 数组:是一个简单的可选数组。
arrayValue:是一个非可选数组,如果它是,它将返回一个空数组
nil
但我无法正确理解您想在哪里使用
arrayObject
?当实体不是JSON
. 但是我不明白为什么/怎么可能是其他东西JSON
,是关于我们自己创建的自定义对象吗?
这是与数组相关的JSON 扩展:
extension JSON {
//Optional [JSON]
public var array: [JSON]? {
if self.type == .array {
return self.rawArray.map { JSON($0) }
} else {
return nil
}
}
//Non-optional [JSON]
public var arrayValue: [JSON] {
return self.array ?? []
}
//Optional [Any]
public var arrayObject: [Any]? {
get {
switch self.type {
case .array:
return self.rawArray
default:
return nil
}
}
set {
if let array = newValue {
self.object = array as Any
} else {
self.object = NSNull()
}
}
}
}