为 Kotlin 创建 POJO Class

Create POJO Class for Kotlin

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

有人知道如何为 Kotlin 创建 Gson POJO 快速吗?

已编辑:

我知道它的用途 Data classes,但是有没有最简单的方法来创建它?

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

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

如果您在 Android Studio 上安装新插件没有任何问题,请按照公认的答案进行操作,否则您最好使用 jsonschema2pojo 转换 JSON 到 Java POJO 并使用 Android Studio 3.0+ 功能将 Java 文件转换为 Kotlin 文件。

是的,我找到了解决方案

例如:

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

我的 POJO Class 使用 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 FileCTRL + ALT + SHIFT + 转换 Kotlin Class 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
}

谢谢大家

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

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

https://github.com/wuseal/JsonToKotlinClass

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

难以置信!就这么简单。只需在 class 之前使用 data 关键字即可在 Kotlin 中创建数据 class。

Data class 为您提供一切,getters、setters、hashCode、toString 和 equals 函数。因此,您所要做的就是创建一个实例并开始使用这些函数。

试试这个

这是简单的方法

  1. 右击包名selectNew->KotlinFile/Class
  2. 命名,在我的例子中,我将其命名为模型,你可以随意命名,然后单击 确定
  3. 并粘贴此代码,这就是你 POJO/Model class

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

如何使用这个

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

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

使用 Android Studio 或 IntelliJ IDEA 插件: JSON 到科特林 Class (JsonToKotlinClass)

在我的例子中,代码 -> 生成不起作用,它被禁用(见屏幕截图)

您应该安装插件“JsonToKotlinClass”

然后右键单击命名空间并select

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