Создайте класс POJO для Kotlin

Я хочу создать класс POJO для Kotlin, так как мы знаем, что www.jsonschema2pojo.org преобразует JSON в POJO, поэтому мы можем использовать его с gson.

Кто-нибудь знает, как создать Gson POJO для Kotlin QUICKLY?

Отредактировано:

Я знаю, что он использует классы данных, но есть ли какой-нибудь простой способ его создания?

Ответ 1

Да, я получил решение

например:

{
    "foo": "string",
    "bar": "integer",
    "baz": "boolean"
}

Мой класс POJO, созданный с использованием http://www.jsonschema2pojo.org/

Example.java

public class Example {

    @SerializedName("foo")
    @Expose
    private String foo;
    @SerializedName("bar")
    @Expose
    private String bar;
    @SerializedName("baz")
    @Expose
    private String baz;

    public String getFoo() {
        return foo;
    }

    public void setFoo(String foo) {
        this.foo = foo;
    }

    public String getBar() {
        return bar;
    }

    public void setBar(String bar) {
        this.bar = bar;
    }

    public String getBaz() {
        return baz;
    }

    public void setBaz(String baz) {
        this.baz = baz;
    }
}

Преобразованный класс Kotlin с использованием Code → Convert Java File to Kotlin File или CTRL + ALT + SHIFT + K

Example.kt

class Example {

    @SerializedName("foo")
    @Expose
    var foo: String? = null
    @SerializedName("bar")
    @Expose
    var bar: String? = null
    @SerializedName("baz")
    @Expose
    var baz: String? = null
}

Спасибо вам всем.

Ответ 3

Если я получил ваш вопрос, вы можете искать какой-нибудь плагин для конвертации в POJO. Так что RoboPOJOGenerator может вам помочь. Вы можете использовать плагин из File>Setting>Plugin>Browse Repositories и искать RoboPOJOGenerator. Чтобы использовать этот плагин, вам сначала нужно создать отдельный пакет, такой как "data", щелкните его правой кнопкой мыши, и вы увидите Generate POJO из JSON. Кроме того, вам нужно включить библиотеку gson в gradle потому что этот плагин будет автоматически генерировать аннотации gson такие как @SerializedName и т.д.

Ответ 4

Запрос о поддержке Kotlin для автоматической генерации классов данных был заполнен здесь в репозитории jsonschema2pojo github. В настоящее время нет доступной веб-утилиты jsonschema2kotlin.

Если у вас нет проблем с установкой нового плагина в Android Studio, следуйте принятому ответу, в противном случае лучше всего использовать jsonschema2pojo для преобразования JSON в Java POJO и использовать функцию Android Studio 3. 0+, которая преобразует файл Java в файл Kotlin

enter image description here

Ответ 5

В vs-code есть плагин под названием Вставить JSON как код. он поддерживает много языков. Вставьте Json как код

quick look

Ответ 6

Попробуй это

Это простой способ

  1. Щелкните правой кнопкой мыши имя пакета и выберите New-> Kotlin File/Class enter image description here
  2. Назовите имя. В моем случае я называю это как модель, которую вы можете, что угодно, и нажмите ОК enter image description here
  3. и Вставьте этот код, Это вы POJO/Модельный класс

    class Model {
        var uid: String? = null
        var name: String? = null
    }
    

    enter image description here

Как использовать это

 val model=Model()
 model.name="Sunil"
 Log.e("Model after",model.name)

enter image description here

Ответ 7

data class ModelUser(val imagePath: String,val userName: String)

Невероятно! Это так просто. Просто используйте ключевое слово data перед class чтобы создать класс Data в Kotlin.

Класс Data предоставляет вам все, getters, seters, hashCode, toString и equals. Итак, все, что вам нужно сделать, это создать экземпляр и начать использовать функции.

Ответ 8

data class VideoGame(val name: String, val publisher: String, var reviewScore: Int)
//Constructor 
val game: VideoGame = VideoGame("Gears of War", "Epic Games", 8)

print(game.name) // "Gears of War"
print(game.publisher) // "Epic Games"
print(game.reviewScore) // 8
game.reviewScore = 7