Swift 4 json数组 - 如何获得价值

时间:2018-03-12 11:18:08

标签: arrays json swift alamofire

我在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(所有值) - 典型(所有值) - 科德(所有价值观) - dataWidoczneOd(所有值)

请帮助:)

1 个答案:

答案 0 :(得分:1)

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