A simple model like this fails to encode and then decode successfully: ```swift struct Link: Codable { let url: URL } ``` This is because like `Date` and `Data` types, `URL`s also need to be handled as a special case by coders. Here's how they're handled in the Swift JSONEncoder: https://github.com/apple/swift-corelibs-foundation/blob/943fee90d095a1708da826e7641636a3cbe9642e/Sources/Foundation/JSONEncoder.swift#L445 If left to encode themselves, URLs create a base/relative URL part, whereas the JSONEncoder just outputs the `absoluteString` as a normal `String` field.
A simple model like this fails to encode and then decode successfully:
This is because like
DateandDatatypes,URLs also need to be handled as a special case by coders.Here's how they're handled in the Swift JSONEncoder:
https://github.com/apple/swift-corelibs-foundation/blob/943fee90d095a1708da826e7641636a3cbe9642e/Sources/Foundation/JSONEncoder.swift#L445
If left to encode themselves, URLs create a base/relative URL part, whereas the JSONEncoder just outputs the
absoluteStringas a normalStringfield.