[Android] Convertissez Map en JSON à l'aide de GSON avec Kotlin et Java

introduction

GSON est une bibliothèque d'analyse JSON fournie par Google. Vous pouvez convertir des objets Java et JSON, mais Kotlin le peut. Cette fois, je pourrais facilement le convertir en MutableMap de Kotlin, alors j'aimerais le partager.

Comment utiliser GSON

Écrivez ce qui suit dans Android Studio.

build.gradle


dependencies {
    implementation 'com.google.code.gson:gson:*.*.*'
}

"*. *. *" Liste la dernière version. Vérifiez la dernière version de ce qui suit. https://github.com/google/gson

Après avoir écrit ce qui précède, cliquez sur "Synchroniser maintenant" sur Android Studio et vous êtes prêt à commencer.

スクリーンショット 2018-07-03 3.12.37.png

GSON est maintenant disponible dans votre projet.

Conversion JSON de Java Map

J'ai implémenté le processus de conversion JSON comme suit.

Sample.java


public void test(){
    ArrayMap<String, String> map = new ArrayMap<>();
    map.put("a1", "A1");
    map.put("a2", "A2");
    map.put("a3", "A3");

    Gson gson = new Gson();
    String jsonString = gson.toJson(map);
    Log.d("Java", jsonString);

    Type type = new TypeToken<ArrayMap<String, String>>(){}.getType();
    ArrayMap<String, String> map2 = gson.fromJson(jsonString, type);
    for (String mapValue : map2.values()) {
        Log.d("Java", mapValue);
    }
}

Lorsque vous consultez le journal

D/Java: {"a1":"A1","a2":"A2","a3":"A3"} D/Java: A1   A2   A3

devenir de cette façon. Il a été confirmé que la conversion JSON est possible. Cela a été fait jusqu'à présent, il n'y a donc rien de nouveau.

Convertir la carte Kotlin en JSON

Le sujet principal est d'ici. Implémentez l'implémentation Java ci-dessus dans Kotlin. Map utilise MutableMap de Kotlin.

Sample.kt


fun test(){
    val map : MutableMap<String, String> = mutableMapOf()
    map.put("a1", "A1")
    map.put("a2", "A2")
    map.put("a3", "A3")

    val gson = Gson()
    val jsonString : String = gson.toJson(map)
    Log.d("Kotlin", jsonString)
    val type : Type = object : TypeToken<MutableMap<String, String>>() {}.type

    val map2 : MutableMap<String, String> = gson.fromJson(jsonString, type)
    for (mapValue in map2.values) {
        Log.d("Kotlin", mapValue)
    }
}

Lorsque vous consultez le journal

D/Kotlin: {"a1":"A1","a2":"A2","a3":"A3"} D/Kotlin: A1      A2      A3

devenir de cette façon. Il a été confirmé que la conversion JSON peut être effectuée de la même manière que Java.

À la fin

La facilité d'utilisation de Kotlin est BONNE!

Recommended Posts

[Android] Convertissez Map en JSON à l'aide de GSON avec Kotlin et Java
Convertir JSON et YAML en Java (en utilisant Jackson et SnakeYAML)
Comment convertir A en A et A en A en utilisant le produit logique et la somme en Java
[Java] Convertir JSON en Java et Java en JSON-Comment utiliser GSON et Jackson-
[Android] Convertir le code Java Android en Kotlin
De Java à C et de C à Java dans Android Studio
Convertir l'énumération Java et JSON vers et depuis Jackson
Reportez-vous à C ++ dans le module Android Studio (Java / kotlin)
[Java] Convertir 1 en N liste en carte
Comment POST JSON dans la méthode Java en utilisant OkHttp3 et la méthode en utilisant HttpUrlConnection-
Mapper sans utiliser de tableau en java
Convertir des fichiers SVG en fichiers PNG en Java
Conversion de JSON en TSV et TSV en JSON avec Ruby
Exemple de code pour la sérialisation et la désérialisation des énumérations Java Enum et JSON dans Jackson
[Java] Affiche le résultat de ffprobe -show_streams dans JSON et mappe-le à un objet dans Jackson
Créer une API à l'aide de Retrofit2, Okhttp3 et Gson (Java)
Fonctions Kotlin et lambdas à envoyer aux développeurs Java
Code pour échapper aux chaînes JSON en Java
[Java] Convertit le code DB en valeur de code à l'aide d'énum
Représente le «jour suivant» et le «jour précédent» en Java / Android
Comment écrire Java String # getBytes dans Kotlin?
Résumé des bons points et des précautions lors de la conversion de l'application Java Android vers Kotlin
Classe Kotlin à envoyer aux développeurs Java
[Android] Convertir le code Java Android en Kotlin
Impressions et doutes sur l'utilisation de Java pour la première fois dans Android Studio
Essayez de réaliser une correspondance de modèle de type Option de type Scala et une carte, flatMap en Java
Lire JSON en Java
[Android / Java] Transition d'écran et traitement de retour par fragments
<java> Lire le fichier Zip et le convertir directement en chaîne
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 3
Exemple de code pour convertir List en List <String> dans Java Stream
[Java] Convertit les chaînes de caractères en majuscules / minuscules (AOJ⑨ --swap majuscules / minuscules)
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 2
[Java] Comment obtenir la clé et la valeur stockées dans Map par traitement itératif
Ecrire une classe en Kotlin et l'appeler en Java
Classes et instances Java comprises dans la figure
POST JSON en Java
Maîtriser Kotlin ~ Convertir un fichier Java en fichier Kotlin Road to Graduation ~ Partie 1
Je veux faire des transitions d'écran avec kotlin et java!
Comment convertir un fichier en tableau d'octets en Java
Créer JSON en Java
Ce que les débutants d'Android, Kotlin ont fait en un mois et ce qu'ils ont pu faire
Conversion entre objets Java et JSON à l'aide de Moshi
Exemple de code Java pour acquérir et afficher les données source et de destination DBLINK dans Oracle Database à l'aide de DBLINK
Stocker dans une carte Java 2D et tourner avec pour instruction
JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur
Comment utiliser les données JSON dans la communication WebSocket (Java, JavaScript)
[Java] Changez la langue et les paramètres régionaux en anglais avec les options JVM
J'ai essayé de résumer les bases de kotlin et java
Convertir un tableau d'octets Java en une chaîne hexadécimale
[Android, Java] Méthode pratique pour calculer la différence en jours
Je veux faire une liste avec kotlin et java!
Je veux créer une fonction avec kotlin et java!
Que s'est-il passé dans «Java 8 to Java 11» et comment créer un environnement
Comment appeler et utiliser l'API en Java (Spring Boot)
Comparé le temps de traitement pour convertir Apache Arrow et JSON en Yosegi
Créez une API pour envoyer et recevoir des données Json avec Spring
Vous utilisez actuellement Java 6. Solution dans Android Studio Gradle
Raisons d'utiliser séparément Servlet et JSP dans le développement Java
J'ai essayé de convertir une chaîne de caractères en un type LocalDate en Java
J'ai essayé d'utiliser Dapr en Java pour faciliter le développement de microservices