私はCodableAlamofire拡張機能を持つAlamofireを使用していますが、私はjson応答で1つのデータを取得するのに問題があります。CodableAlamofireからオブジェクトの配列を取得
これは私のJSONです:
{
"total": 95,
"per_page": 100,
"current_page": 1,
"last_page": 1,
"from": 1,
"to": 95,
"data": [
{
"id": 1,
"name": "ONE",
"city": "CITY 1"
},
{
"id": 2,
"name": "TWO",
"city": "CITY 2"
},
{
"id": 3,
"name": "THREE",
"city": "CITY 3"
}
]
}
私はこれらの構造体があります。
struct AssetResult: Decodable {
let current_page : Int
// let data : [AssetData]
let from : Int
let last_page : Int
let per_page : Int
let to : Int
let total : Int
enum CodingKeys : String, CodingKey {
case current_page
// case data
case from
case last_page
case per_page
case to
case total
}
}
struct AssetData: Decodable {
let city : String
let id : String
let name : String
}
そして、これはAssetResult
構造体のデータを取得するためのコードです:
let parameters: Parameters = ["page": 1]
let url = URL(string: "http://url")!
let decoder = JSONDecoder()
Alamofire.request(url, parameters: parameters).responseDecodableObject(keyPath: nil, decoder: decoder) { (response: DataResponse<AssetResult>) in
let repo = response.result.value
print(repo)
}
問題を毎回私はdata
を取得しようとしています(のコメントを外してくださいAssetResult
構造内の)print(repo)
はnil
になります。
私は聞かせている場合、これが印刷され、コメントdata
:
Optional(AssetResult(current_page: 1, from: 1, last_page: 1, per_page: 100, to: 95, total: 95))
は、どのように私は、オブジェクトの配列を得ることができますか? AssetDataオブジェクトの配列として使用することをお勧めします。
おかげ