ios - 如何在 xcode 中解析和分类来自 AlamoFire 的 JSON 响应

标签 ios arrays json swift http

我正在尝试从该网站获取 NBA 排名 https://erikberg.com/api 为此,我使用 AlmoFire 发出 Get 请求:

Alamofire.request(.GET, "https://erikberg.com/nba/standings.json") .responseJSON { 响应 打印(响应.2.值) }

返回的是一个响应数组,在索引 0 处有一个 NSURLRequest,在索引 1 处有一个 NSHTTPURLResponse,在索引 2 处有一个 AnyObject 类型的结果。AnyObject 在打印时会产生这个结果(我只展示了一个team 因为数组很长):

可选({ 站立=( { "away_lost"= 14; "away_won"= 21; session =东; “conference_lost”= 13; "conference_won"= 29; 除法 = CEN; “名字”=克利夫兰; “games_back”= 0; “玩过的游戏”= 71; “home_lost”= 6; “home_won”= 30; "last_five"= "4-1"; "last_name"= 骑士队; "last_ten"= "7-3"; 丢失 = 20; "ordinal_rank"= 1st; “季后赛种子”= 1; “点差”= 437; "point_differential_per_game"= "6.2"; "points_against"= 6948; "points_allowed_per_game"= "97.9"; "points_for"= 7385; "points_scored_per_game"= "104.0"; 等级 = 1; 连胜 = W2; “连胜总数”= 2; “连胜类型”=获胜; "team_id"= "克利夫兰骑士队"; "win_percentage"= ".718"; 赢 = 51; },exc...

我想知道如何解析这些数据,以便我可以提取每个团队并根据他们的排名对其进行分类。 谢谢

最佳答案

您可以使用 ObjectMapper解析 JSON。创建一个包含所有 JSON 到对象映射代码的 Standing 类。

class Standing: Mappable {
    var awayLost: Int?
    var awayWon: Int?
    .....      // Define all variables
    required init?(_ map: Map) {}

    // This function is used to map all variables to corresponding JSON strings
    func mapping(map: Map) {      
         awayLost <- map["away_lost"]
         awayWon <- map["away_won"]
         ... 
    }

同理,创建一个父类来保存standing数组。

class ParentJson: Mappable {
    var standingsDate: String?
    var standing: [Standing]
}

func mapping(map: Map) {
    standing <- map["standing"]
}

然后在你的 alamofire 响应中,映射相应的类

Alamofire.request(.GET, "https://erikberg.com/nba/standings.json")
        .responseJSON { response in
             let parentJson = Mapper<ParentJson>().map(response.2.value)
             let standingsArray: [Standing] = parentJson.standing

standingArray 现在将拥有分类所需的所有数据。

关于ios - 如何在 xcode 中解析和分类来自 AlamoFire 的 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36214611/

相关文章:

ios - firebase.init 中的错误 : ReferenceError: Can't find variable: FIROptions

C++ - 需要传递二维数组,但必须动态调整大小

arrays - Livecode 中的数组处理

C:定义用户可以声明其大小的全局数组变量

Javascript 日期和 JSON 日期时间

ios - 防止 iCloud 下载较旧的应用程序版本

ios - 来自 swiftyjson 的对象——如何更好地处理空值?

ios - Swift: "Fatal error: newElements.underestimatedCount was an overestimate"- 这个错误是什么意思?

android - 如何将 JSON 数据存储到 Realm 中并将其显示到 recyclerview 中

python - protobuf MessageToJson 删除值为 0 的字段