3

次のjsonスキーマを解析しようとしています.posterは空かもしれませんし、そうでないかもしれません

{
  "poster": {},
  "recommends": []
}

私のデコード可能なクラスは次のとおりです。

public struct RecommendedList: Decodable {
    public let poster: Poster?
    public let recommends: [Recommend]
}

public struct Poster: Decodable {
    public let backgroundImage: URL
    public let topImage: URL
    public let windowImage: URL
    public let windowSkinImagePath: URL
    public let deeplink: URL

    public init(from decoder: Decoder) throws {
        // I want a failable intializer not one that throws
    }
}

私の質問は、ポスターをオプションにするにはどうすればよいですか? 私の考えでは、失敗可能な初期化子が必要でしたが、デコード可能にはスローする初期化が必要です。

4

1 に答える 1