java - studio - Create POJO Class for Kotlin




kotlin class (5)

Try this

This is the simple way

  1. Right click on the package name and select New->Kotlin File/Class
  2. Name the name, In my case, I am naming this as Model you can whatever you like and click on ok
  3. and Paste this code, This is you POJO/Model class

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

How to use this

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

I want to create POJO class for Kotlin, as we know that www.jsonschema2pojo.org converts JSON to POJO so we can use it with gson.

Anyone know how to create Gson POJO for Kotlin QUICKLY?

Edited:

I know its use Data classes, but is there any simplest way to create it?


A feature request about Kotlin support to auto generate data classes have been filled here in jsonschema2pojo github repository. Currently, there is no jsonschema2kotlin web utility available.

If you don't have any problem installing a new plugin on Android Studio, follow the accepted answer, otherwise the best you can do is to use jsonschema2pojo to convert JSON to Java POJO and the use the Android Studio 3.0+ feature that converts a Java file to a Kotlin one.


If I got your question, you might be searching some plugin for converting to POJO. So RoboPOJOGenerator may help you.You can use plugin from File>Setting>Plugin>Browse Repositories and search for RoboPOJOGenerator. To use this plugin you firstly need to create seperate package like "data", right click the package and you will see Generate POJO from JSON. Also you need to include gson library in gradle because this plugin will automatically generate annotation of gson like @SerializedName, etc.


Yes, I got solution

for Example:

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

My POJO Class Created using 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;
    }
}

Converted Kotlin Class using Code -> Convert Java File to Kotlin File or CTRL + ALT + SHIFT + 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
}

Thank you all.


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




pojo