try container.encode(u, forKey: .u) が u = "https://www.apple.com";、try container.encode(ou, forKey: .ou) が ou = { relative = "https://www.apple.com"; }; だけど try container.encodeIfPresent(ou, forKey: .ou) だと ou = "https://www.apple.com"; になるの、なんだか気持ち悪い気がしましたrelative は URL の Codable 実装から来ていそう https://github.com/apple/swift/blob/master/stdlib/public/SDK/Foundation/URL.swift#L1175-L1201