为Kotlin创建POJO类

时间:2017-05-25 12:14:46

标签: java android gson kotlin pojo

我想为Kotlin创建POJO类,因为我们知道www.jsonschema2pojo.org将JSON转换为POJO所以我们可以将它与gson一起使用。

任何人都知道如何为Kotlin创建Gson POJO 快速?

编辑:

我知道它使用数据类,但有没有最简单的方法来创建它?

10 个答案:

答案 0 :(得分:57)

我认为这应该是你想要的插件

JSON To Kotlin Class Plugin

https://github.com/wuseal/JsonToKotlinClass

答案 1 :(得分:9)

是的,我得到了解决方案

例如:

{
    "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;
    }
}

使用 Code -> Convert Java File to Kotlin File CTRL + ALT + SHIFT + K转换 Kotlin

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
}

谢谢大家。

答案 2 :(得分:4)

如果我收到您的问题,您可能正在搜索某个插件以转换为POJO。所以 RoboPOJOGenerator 可以帮到你。您可以使用File>Setting>Plugin>Browse Repositories中的插件并搜索RoboPOJOGenerator。 要使用此插件,您首先需要创建一个单独的包,例如" data",右键单击该包,您将看到JSON生成POJO。此外,您需要在gson中加入gradle库,因为此插件会自动生成gson的注释,如@SerializedName等。

答案 3 :(得分:2)

在vs-code中,有一个名为Paste JSON as Code的插件。 它支持多种语言。 Paste Json as code

quick look

答案 4 :(得分:1)

关于自动生成数据类的Kotlin支持的功能请求已在jsonschema2pojo github存储库中填充here。 目前,没有可用的jsonschema2kotlin Web实用程序。

如果您在Android Studio上安装新插件没有任何问题,请按照接受的答案,否则您可以做的最好的事情是使用jsonschema2pojo将JSON转换为Java POJO并使用Android Studio 3.0+功能,可将Java文件转换为Kotlin文件。

enter image description here

答案 5 :(得分:1)

尝试

这是简单的方法

  1. 右键单击软件包名称,然后选择新建-> Kotlin文件/类 enter image description here
  2. 命名,在我的情况下,我将其命名为Model,可以随便选择,然后点击确定 enter image description here
  3. 并粘贴此代码,这是您的POJO /模型类

    gcloud functions logs read --limit 50
    

    enter image description here

使用方法

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

enter image description here

答案 6 :(得分:0)

Text.Read

令人难以置信的权利!就这么简单。只需在data class ModelUser(val imagePath: String,val userName: String) 之前使用data关键字在Kotlin中创建数据类。

Data类为您提供所有内容,getter,setter,hashCode,toString和equals函数。所以你要做的就是创建一个实例并开始使用这些函数。

答案 7 :(得分:0)

使用 Android Studio 或 IntelliJ IDEA 插件: JSON 转 Kotlin 类 (JsonToKotlinClass)

答案 8 :(得分:0)

在我的情况下代码 -> 生成不起作用,它被禁用(见截图)

enter image description here

你应该安装插件“JsonToKotlinClass”

Install plugin for Android Studio

然后右键单击命名空间并选择

Then right-click on the namespace and select

在此处粘贴您的 JSON。就是这样,利润。

enter image description here

答案 9 :(得分:-4)

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