json のデコードに問題があります。私は多くのチュートリアルに従いましたが、複雑なjson構造は使用していません。簡単にするために、コードを最小化し、Dog を例として使用します。
次の json では、主に Dog 構造体にのみ関心があります。json の "Data" 属性には、ランダムな犬の名前が含まれています。属性名がわからないため、コーディングキーを使用できません。
{
"Response": "success"
"BaseLinkUrl": "https://wwww.example.com",
"Data": {
"Max": {
"name": "Max",
"breed": "Labrador"
},
"Rocky": {
"name": "Rocky",
"breed": "Labrador"
},
...
}
}
私は次の構造体を持っています:
struct DogResponse : Decodable {
let data : DogResponseData
enum CodingKeys: String, CodingKey {
case data = "Data"
}
}
struct DogResponseData: Decodable {
let dog: Dog //this is a random variable name
enum CodingKeys: String, CodingKey {
case dog = "??random_variable_dog_name??"
}
}
struct Dog: Decodable {
let name: String
let type: String
enum CodingKeys: String, CodingKey {
case name
case type = "breed"
}
}
Dog 構造体の収集:
let dogResponse = try JSONDecoder().decode(DogResponse.self, from: data)
print(dogResponse)
Dog 構造体を含む確率変数を迅速に認識するために、「DogResponseData」構造体で何をする必要がありますか?