将POJO转换为数据类Kotlin

时间:2018-01-18 10:33:23

标签: android kotlin pojo data-class

最近我开始将我的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 个答案:

答案 0 :(得分:3)

您可以使用 JsonToKotlinClass 插件

Github Link:

JsonToKotlin

从下图中查找JsonToKotlinClass:

enter image description here

希望这会对您有所帮助......如果您需要任何帮助,可以询问

答案 1 :(得分:0)

很高兴为您服务。这是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;
 }

答案 2 :(得分:0)

考虑使用此库:https://github.com/wuseal/JsonToKotlinClass

如果您最初将从JSON转换此类,从API获取,这将有所帮助。

这是AndroidStudio中的插件,我认为在您的情况下它将是最佳解决方案