Конвертировать POJO в класс данных Kotlin

Недавно я начал конвертировать свой проект Android из Java в Kotlin. Я использую Retrofit во многих классах для извлечения данных из API. В моем проекте есть много POJO, и мне нужно преобразовать их вручную в классы данных, так как он не очень хорошо работает с инструментом автоматического конвертирования Android Studio.

Считайте, что у меня есть класс модели:

public class LoginResponseMinimal {

String firstName, lastName, token;

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public String getToken() {
    return token;
}

public void setToken(String token) {
    this.token = token;
 }
}

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

3 ответа

Решение

Вы можете использовать плагин JsonToKotlinClass

Github Ссылка:

JsonToKotlin

Найти JsonToKotlinClass Снизу изображения:

введите описание изображения здесь

Надеюсь, это поможет вам... Если вам нужна помощь, вы можете попросить

Рад помочь тебе. Здесь solution:

https://try.kotlinlang.org/#/Examples/Hello,%20world!/Simplest%20version/Simplest%20version.kt

посетить это link, а затем перейти на вариант, указанный в верхнем углу конвертировать из Java

затем вставьте свой java код там и на нижней стороне вы увидите кнопку конвертировать в kotlin, нажмите эту кнопку, и вы получите свой kotlin код на правой стороне.

И да, не вставляйте весь свой класс

В вашем случае вставьте следующий код:

String firstName, lastName, token;

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public String getToken() {
    return token;
}

public void setToken(String token) {
    this.token = token;
 }

Рассмотрите возможность использования этой библиотеки: https://github.com/wuseal/JsonToKotlinClass

В случае, если вы преобразуете эти классы изначально из JSON, извлеченного из API, это поможет.

Это плагин в AndroidStudio, думаю, в вашем случае это будет лучшее решение

Другие вопросы по тегам