web-dev-qa-db-fra.com

Créer une classe POJO pour Kotlin

Je veux créer une classe POJO pour Kotlin, car nous savons que www.jsonschema2pojo.org convertit JSON en POJO afin que nous puissions l'utiliser avec gson.

Quelqu'un sait comment créer Gson POJO pour Kotlin QUICK? 

Édité:

Je connais son utilisation des classes de données, mais existe-t-il un moyen plus simple de le créer?

24
Pratik Butani

Да я получил решение

например:

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

Мой класс POJO создан с использованием http://www.jsonschema2pojo.org/

Exemple.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;
    }
}

Преобразованный de Kotlin с использованием Code -> Convert Java File to Kotlin File или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
}

Спасибо вам всем.

Je pense que cela devrait être le plugin que vous voulez

 JSON To Kotlin Class Plugin

https://github.com/wuseal/JsonToKotlinClass

49
吴海豹

Si j'ai eu votre question, vous chercherez peut-être un plugin pour convertir en POJO. Donc RoboPOJOGenerator Peut vous aider. Vous pouvez utiliser un plugin depuis Fichier> Paramètre> Plugin> Parcourir les référentiels et rechercher RoboPOJOGenerator . Pour utiliser ce plugin, vous devez tout d'abord créer un paquet séparé comme " data ", cliquez avec le bouton droit de la souris sur le package et vous verrez Générer un POJO à partir de JSON. Aussi, vous devez inclure la bibliothèque gson dans Gradle car ce plugin générera automatiquement une annotation de gson comme @SerializedName, etc. 

3
Nabin Khatiwada

En vs-code, il existe un plugin nommé Coller JSON en tant que Code . Il prend en charge de nombreuses langues . Coller Json en tant que code

quick look

1
Manish Gowardipe

Une demande de fonctionnalité sur le support de Kotlin pour la génération automatique de classes de données a été remplie ici dans le référentiel gsons de jsonschema2pojo . Actuellement, aucun utilitaire Web jsonschema2kotlin n'est disponible.

Si vous n’avez pas de problème à installer un nouveau plugin sur Android Studio, suivez la réponse acceptée, sinon, le mieux que vous puissiez faire est d’utiliser jsonschema2pojo pour convertir JSON en Java POJO et utiliser la fonction Android Studio 3.0+. qui convertit un fichier Java en Kotlin.

enter image description here

1
MatPag

Essaye ça

C'est le moyen simple

  1. Cliquez avec le bouton droit sur le nom du paquet et sélectionnez Nouveau-> Fichier Kotlin/Classe enter image description here
  2. Nommez le nom. Dans mon cas, je l’appelle comme Modèle, vous pouvez faire ce que vous voulez et cliquez sur ok enter image description here
  3. et collez ce code, Ceci est votre classe POJO/Model 

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

     enter image description here

Comment utiliser cette

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

 enter image description here

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

Incroyable droit! C'est aussi simple que ça. Utilisez simplement data mot-clé avant class pour créer la classe de données dans Kotlin.

La classe de données vous fournit tout, les fonctions Getters, Setters, hashCode, toString et equals Donc, tout ce que vous avez à faire est de créer une instance et de commencer à utiliser les fonctions.

0
KishanSolanki124