Improve failure message on encountering unknown key in JSON #2637
Closed
Description
Right now, the failure is the following:
Exception in thread "main" kotlinx.serialization.json.internal.JsonDecodingException: Unexpected JSON token at offset 20: Encountered an unknown key 'version' at path: $.name
Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.
JSON input: {"name":"unknown", "version": 2.0}
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24)
Maybe it is worth making it more explicit and straightforward, for example:
Exception in thread "main" kotlinx.serialization.json.internal.JsonUnknownKeyException: Encountered an unknown key 'version' at path: $.name
Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.
JSON input: {"name":"unknown", "version": 2.0}
at kotlinx.serialization.json.internal.JsonExceptionsKt.JsonDecodingException(JsonExceptions.kt:24)
Note that the actual exception can still be internal