映射JSON数据并将其放入Swift中的数组中

时间:2018-02-14 13:55:45

标签: arrays json swift3

我有以下问题。

我使用Alamofire请求。响应是JSON。

        Alamofire.request(url, method: .get).responseJSON {
        response in
        if response.result.isSuccess {

            print("Success! Got the korosztaly data")
            let koJSON : JSON = JSON(response.result.value!)


           print(koJSON)

        }
        else {
            print("Error \(String(describing: response.result.error))")
        }
    }

koJSON的结果如下:

{ "members": [ {"name": "Sarah"}, {"name": "David"}, {"name": "Michael"} ] }

我想创建一个Members数组并将所有数据放入其中。 结果应该是以下

Members = ["Sarah", "David", "Michael"]

1 个答案:

答案 0 :(得分:3)

我更喜欢使用地图功能。它将迭代数组中的每个项目,并允许您提取所选信息,或对其进行转换。

if let resp = response.result.value as? [String: AnyObject], 
      let membersArr = resp["members"] as? [[String: String]] {
   let members = membersArr.map { $0["name"] }
}

输出应符合预期。

您可以阅读有关地图和其他高阶函数here

的更多信息