私は他の誰かのAPIを使用しています。私はJSONを返しています。このような;Swiftで 'Type'という名前の変数を宣言できますか?
[{"ID": 123,
"Name": "My Game Api",
"Type": "Racing",
"Num": 0,
"Country": "England"
}]
私はこのように、JSONを解析する構造体を定義します。コースのXcode
struct MyResult : Decodable{
var ID : Int?
var Name : String?
var Type : String?
var Num : Int?
var Country : String?
}
// Using..
let games = try JSONDecoder().decode([MyResult].self, from: data!)
は私にエラーを与える:それはと競合するので、 型のメンバは、「種類」という名前することはできません'foo.Type'式。
私はAPIを書いていません。 変数のタイプをに変更した場合、値を読み取ることができません。
APIを変更せずにDecodable Structを使用できますか?
によって投稿されたコメントはhttps://stackoverflow.com/q/44396500/2976878比較従うようにしてください。あなたは 'lowerCamelCase'プロパティ名をSwift conventionとして使うべきです。カスタム 'CodingKeys' enumでJSONキーにマッピングします。 – Hamish
https://developer.apple.com/documentation/foundation/archives_and_serialization/encoding_and_decoding_custom_types#2904057 – Slayter
また、関係はありませんが、すべてのプロパティは本当にオプションである必要がありますか? JSONが* any *のキーを含んでいないことは合法ですか? – Hamish