Как разобрать JSON вручную в Котлине?

Я хочу разобрать ответ JSON вручную в Котлине. Поскольку я получаю сложный ответ JSON, который имеет некоторые общие поля. Например, я получаю ниже ответа.

{ status: "success/false" apiId: 6 message: "Error msg if any" . . . // Here comes some JSON with complex structure where some fields are . // missing/omitted. Sometime array is missing/response in array is . // getting changed, getting lot of unwanted stuff Or whatever you can . // think. And because of this I need to parse it manually. . } 

Теперь, как я могу разобрать этот тип ответа вручную в классе данных Kotlin? Еще одна вещь, которую я хотел бы знать, могу ли я использовать любой базовый класс для общих полей в ответе?

Должно быть что-то вроде этого:

 data class Response(val status: String, val apiId: Int , val message: String) 

У @JsonIgnoreProperties(ignoreUnknown=true) -databind есть @JsonIgnoreProperties(ignoreUnknown=true) аннотация, которая может игнорировать нежелательные json-поля. то вам нужно написать класс данных, как показано ниже.

 @JsonIgnoreProperties(ignoreUnknown=true) data class Response(val status: String, val apiId: Int, val message: String)