[英]Create POJO Class for Kotlin
我想为 Kotlin 创建 POJO 类,因为我们知道www.jsonschema2pojo.org将 JSON 转换为 POJO,因此我们可以将它与 gson 一起使用。
有人知道如何快速为 Kotlin 创建 Gson POJO吗?
编辑:
我知道它使用 Data 类,但是有没有最简单的方法来创建它?
是的,我得到了解决方案
例如:
{
"foo": "string",
"bar": "integer",
"baz": "boolean"
}
我的 POJO 类使用http://www.jsonschema2pojo.org/创建
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
转换Kotlin类Code -> Convert Java File to Kotlin File
或CTRL + ALT + SHIFT + K
class Example {
@SerializedName("foo")
@Expose
var foo: String? = null
@SerializedName("bar")
@Expose
var bar: String? = null
@SerializedName("baz")
@Expose
var baz: String? = null
}
谢谢大家。
关于自动科特林支持某种功能的请求产生的数据类已经充满这里的jsonschema2pojo GitHub的仓库。 目前,没有可用的 jsonschema2kotlin Web 实用程序。
如果您在 Android Studio 上安装新插件没有任何问题,请按照接受的答案进行操作,否则您能做的最好的事情就是使用jsonschema2pojo将 JSON 转换为 Java POJO,并使用 Android Studio 3.0+ 功能将 Java 转换为 Java文件到 Kotlin 文件。
data class ModelUser(val imagePath: String,val userName: String)
难以置信的对! 就这么简单。 只需在class
之前使用data
关键字在 Kotlin 中创建 Data 类。
Data 类为您提供了一切,getter、setter、hashCode、toString 和 equals 函数。 所以你所要做的就是创建一个实例并开始使用这些函数。
在 vs-code 中有一个名为 Paste JSON as Code 的插件。 它支持多种语言。 将 Json 粘贴为代码
如果我收到您的问题,您可能正在搜索一些插件以转换为 POJO。 所以RoboPOJOGenerator可以帮到你。 您可以使用File>Setting>Plugin>Browse Repositories
并搜索RoboPOJOGenerator
。 要使用此插件,您首先需要创建一个单独的包,例如“data”,右键单击该包,您将看到 Generate POJO from JSON
。 此外,您需要在gradle
包含gson
库,因为此插件会自动生成gson
注释,如@SerializedName
等。
使用 Android Studio 或 IntelliJ IDEA 插件:JSON To Kotlin Class( JsonToKotlinClass )
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.