Динамическое преобразование схемы json в класс данных kotlin

У меня есть схема json в формате черновика 04 (http://json-schema.org/draft-04/schema#), который используется для определения конфигурации. Эти схемы создаются динамически на основе входных данных об использовании.

Мне нужно передать эту схему json методу, который принимает только класс kotlin в качестве параметра. Есть ли способ преобразовать эту схему json в класс данных kotlin?

В основном то, что я хочу, похоже на то, что делает www.jsonschema2pojo.org, но я хочу создать класс динамически в вызове метода.

Пример схемы:

{
    "title": "Schema 1",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "firstName": {
            "type": "string"
        },
        "lastName": {
            "type": "string"
        },
        "age": {
            "description": "Age in years",
            "type": "integer",
            "minimum": 0
        }
    },
    "required": ["firstName", "age"]
}

person Pranay Kumar    schedule 23.03.2020    source источник
comment
Вы хотите сгенерировать класс во время выполнения на основе Json?   -  person aiqency    schedule 24.03.2020
comment
Да, поскольку упомянутый выше метод принимает класс в качестве параметра.   -  person Pranay Kumar    schedule 24.03.2020


Ответы (1)


Вы можете посмотреть, как это делает этот плагин IntelliJ Idea, и использовать его библиотеку в своем приложении: https://github.com/wuseal/JsonToKotlinClass/blob/master/LIBRARY.md

person Sebas LG    schedule 22.08.2020