【问题标题】:Swift 4 json array - how to get valueSwift 4 json 数组 - 如何获取值
【发布时间】:2018-03-12 11:18:08
【问题描述】:

我在 Swift 4 和 Alamofire 中有这段代码:

Alamofire.request("http://xxxx.pl/id=1", method: .get, parameters: nil)
            .responseJSON { response in
let jsonResponse = JSON(response.result.value!)

let resData = jsonResponse["ranking"].array
print("XXXX: \(jsonResponse)")
}
            .responseString { response in
                if let error = response.result.error {
                    print(error)
                }
                if let value = response.result.value {
                    print(value)
                }
}

运行此代码后,我得到一个带有以下参数的 json:

XXXX: {
  "ranking" : {
    "dataWidoczneOd" : {
      "second" : 0,
      "year" : 2018,
      "month" : 2,
      "hourOfDay" : 0,
      "dayOfMonth" : 1,
      "minute" : 0
    }
    "opis" : "cx",
    "id" : 50971,
    "dataWidoczneDo" : {
      "second" : 0,
      "year" : 2018,
      "month" : 2,
      "hourOfDay" : 0,
      "dayOfMonth" : 31,
      "minute" : 0
    },
    "grupy" : [
      {
        "nazwa" : "yyy",
        "kod" : "yyy",
        "id" : 51032,
        "idkiPlikowGrafiki" : [
          "51034"
        ],
        "gracze" : [

          {
            "zakonczonaGra" : false,
            "imieINazwisko" : "zzzz yyyy",
            "email" : "tertretera@cccc.com",
            "liczbaZdobytychPunktow" : "0.0",
            "czasGry" : "0 min"
          }
        ]
      },
      {
        "nazwa" : "ttt",
        "kod" : "ttt",
        "id" : 50981,
        "idkiPlikowGrafiki" : [
          "50983",
          "50986"
        ],
        "gracze" : [

        ]
      }
    ],
    "nazwa" : "grupowy",
    "idkiPlikowGrafiki" : [
      "50976"
    ],
    "typ" : "GRUPA",
    "dataOd" : {
      "second" : 0,
      "year" : 2018,
      "month" : 2,
      "hourOfDay" : 0,
      "dayOfMonth" : 1,
      "minute" : 0
    }
  }
}

如何从这个 json 数组中获取值并保存在变量中: - gracze(所有值) - idkiPlikowGrafiki(所有值) - 典型值(所有值) - kod(所有值) - dataWidoczneOd(所有值)

请帮忙:)

【问题讨论】:

  • 你在使用 SwiftJSON
  • 您可以使用 SwiftyJSON 序列化 json。 github.com/SwiftyJSON/SwiftyJSON
  • SwiftyJSON 的两位推荐者:如果您不知道如何阅读和理解 JSON 的结构,那么您使用的工具是无关紧要的。而在 Swift 4 中,SwiftyJSON 作为解析工具实际上已经过时了。 Codable 协议更方便。

标签: arrays json swift alamofire


【解决方案1】:

您应该为此响应创建一个模型类,并使用例如 Codable 对其进行解析。 Here 就是一个很好的例子。

【讨论】:

    猜你喜欢
    • 2019-02-19
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多