我有一个JSON数组var array: [JSON] = []
,我想将其作为“常规”数组进行转换,以便我可以执行一些过滤和其他数据操作。这样做的建议方法是什么?
我已经尝试了let filteredArray = array.arrayValue.filter {$0["submission_id"] as! Int == 27}
,但我被抛出了这个错误
类型'[JSON]'的值没有成员'arrayValue'
答案 0 :(得分:2)
SwiftyJSON对象具有索引和内容。
要过滤SwiftyJSON对象,您可以使用filter
,但必须过滤元组的第二部分即内容。
此外,如果要获取Int值,则应使用SwiftyJSON生成的.int
属性。
示例:
let filtered = json.filter { $0.1["submission_id"].int == 27 }
但是你也可以提取SwiftyJSON对象的内容来获得一个带有.arrayObject
的Swift数组。
然后你会像这样过滤:
if let array = json.arrayObject {
let filtered = array.filter { $0["submission_id"] as? Int == 27 }
}