如何使用SwiftyJSON将JSON数组转换为数组

时间:2016-06-02 05:11:56

标签: arrays json swift swifty-json

我有一个JSON数组var array: [JSON] = [],我想将其作为“常规”数组进行转换,以便我可以执行一些过滤和其他数据操作。这样做的建议方法是什么?

我已经尝试了let filteredArray = array.arrayValue.filter {$0["submission_id"] as! Int == 27},但我被抛出了这个错误

  

类型'[JSON]'的值没有成员'arrayValue'

1 个答案:

答案 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 }
}