[Android] Konvertieren Sie Map in JSON mit GSON mit Kotlin und Java

Einführung

GSON ist eine von Google bereitgestellte JSON-Analysebibliothek. Sie können Java-Objekte und JSON konvertieren, Kotlin jedoch. Dieses Mal könnte ich es leicht in Kotlins MutableMap konvertieren, also möchte ich es teilen.

Wie benutzt man GSON?

Schreiben Sie Folgendes in Android Studio.

build.gradle


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

"*. *. *" Listet die neueste Version auf. Überprüfen Sie die neueste Version aus dem Folgenden. https://github.com/google/gson

Nachdem Sie das Obige geschrieben haben, klicken Sie in Android Studio auf "Jetzt synchronisieren" und Sie können loslegen.

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

GSON ist jetzt in Ihrem Projekt verfügbar.

JSON-Konvertierung von Java Map

Ich habe den JSON-Konvertierungsprozess wie folgt implementiert.

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);
    }
}

Wenn Sie das Protokoll überprüfen

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

so werden. Es wurde bestätigt, dass eine JSON-Konvertierung möglich ist. Es wurde bisher gemacht, also gibt es nichts Neues.

Konvertieren Sie die Kotlin Map in JSON

Das Hauptthema ist von hier. Implementieren Sie die obige Java-Implementierung in Kotlin. Map verwendet Kotlins MutableMap.

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)
    }
}

Wenn Sie das Protokoll überprüfen

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

so werden. Es wurde bestätigt, dass die JSON-Konvertierung auf dieselbe Weise wie Java durchgeführt werden kann.

Am Ende

Die Benutzerfreundlichkeit von Kotlin ist gut!

Recommended Posts

[Android] Konvertieren Sie Map in JSON mit GSON mit Kotlin und Java
Konvertieren Sie JSON und YAML in Java (mit Jackson und SnakeYAML)
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
[Java] Konvertieren Sie JSON in Java und Java in JSON-How to use GSON and Jackson-
[Android] Konvertieren Sie Android Java-Code in Kotlin
Von Java nach C und von C nach Java in Android Studio
Konvertieren Sie Java Enum Enumeration und JSON von und nach Jackson
Siehe C ++ im Android Studio-Modul (Java / Kotlin)
[Java] Konvertiere 1 in N Liste in Karte
Wie POST JSON in Java-Methode mit OkHttp3 und Methode mit HttpUrlConnection-
Map ohne Verwendung eines Arrays in Java
Konvertieren Sie SVG-Dateien in Java in PNG-Dateien
Konvertieren Sie mit Ruby von JSON nach TSV und von TSV nach JSON
Beispielcode zum Serialisieren und Deserialisieren von Java Enum-Enumerationen und JSON in Jackson
[Java] Geben Sie das Ergebnis von ffprobe -show_streams in JSON aus und ordnen Sie es einem Objekt in Jackson zu
Erstellen Sie eine API mit Retrofit2, Okhttp3 und Gson (Java).
Kotlin-Funktionen und Lambdas zum Senden an Java-Entwickler
Code zum Escapezeichen von JSON-Zeichenfolgen in Java
[Java] Konvertieren Sie DB-Code mit enum in einen Codewert
Repräsentiert "nächster Tag" und "vorheriger Tag" in Java / Android
Wie schreibe ich Java String # getBytes in Kotlin?
Zusammenfassung der guten Punkte und Vorsichtsmaßnahmen bei der Konvertierung der Java Android-Anwendung in Kotlin
Kotlin-Klasse zum Senden an Java-Entwickler
[Android] Konvertieren Sie Android Java-Code in Kotlin
Eindrücke und Zweifel an der erstmaligen Verwendung von Java in Android Studio
Versuchen Sie, Scala-ähnliche Optionstyp-Musterübereinstimmung und Map FlatMap in Java zu realisieren
Lesen Sie JSON in Java
[Android / Java] Bildschirmübergang und Rückgabeverarbeitung in Fragmenten
<java> Zip-Datei lesen und direkt in String konvertieren
Beherrschen von Kotlin ~ Konvertieren von Java-Dateien in Kotlin-Dateien Road to Graduation ~ Teil 3
Beispielcode zum Konvertieren von List in List <String> in Java Stream
[Java] Konvertieren Sie Zeichenfolgen in Groß- / Kleinschreibung (AOJ⑨ - Swap in Groß- / Kleinschreibung)
Beherrschen von Kotlin ~ Konvertieren von Java-Dateien in Kotlin-Dateien Road to Graduation ~ Teil 2
[Java] So erhalten Sie den Schlüssel und den Wert, die in Map gespeichert sind, durch iterative Verarbeitung
Schreiben Sie eine Klasse in Kotlin und nennen Sie sie in Java
In der Abbildung verstandene Java-Klassen und -Instanzen
POST JSON in Java
Beherrschen von Kotlin ~ Konvertieren von Java-Dateien in Kotlin-Dateien Road to Graduation ~ Teil 1
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
So konvertieren Sie eine Datei in ein Byte-Array in Java
Erstellen Sie JSON in Java
Was Android, Kotlin-Anfänger in einem Monat gemacht haben und was sie konnten
Konvertieren Sie mit Moshi zwischen Java-Objekten und JSON
Java-Codebeispiel zum Erfassen und Anzeigen von DBLINK-Quell- und Zieldaten in Oracle Database mithilfe von DBLINK
In Java 2D-Karte speichern und mit for-Anweisung drehen
JSON in Java und Jackson Teil 1 Gibt JSON vom Server zurück
Verwendung von JSON-Daten in der WebSocket-Kommunikation (Java, JavaScript)
[Java] Ändern Sie Sprache und Gebietsschema mit JVM-Optionen in Englisch
Ich habe versucht, die Grundlagen von Kotlin und Java zusammenzufassen
Konvertieren Sie ein Java-Byte-Array in eine hexadezimale Zeichenfolge
[Android, Java] Praktische Methode zur Berechnung der Differenz in Tagen
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Was ist in "Java 8 bis Java 11" passiert und wie wird eine Umgebung erstellt?
Aufrufen und Verwenden der API in Java (Spring Boot)
Vergleich der Verarbeitungszeit für die Konvertierung von Apache Arrow und JSON in Yosegi
Erstellen Sie eine API zum Senden und Empfangen von Json-Daten mit Spring
Sie verwenden derzeit Java 6. Lösung in Android Studio Gradle
Gründe, Servlet und JSP in der Java-Entwicklung getrennt zu verwenden
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
Ich habe versucht, Dapr in Java zu verwenden, um die Entwicklung von Mikroservices zu erleichtern