GSON. Wie konvertieren von json-Objekt zu json-array?
Jetzt bin ich immer das JSON von der API:
{"supplyPrice": {
"CAD": 78,
"CHF": 54600.78,
"USD": 20735.52
}}
Aber die Preise sind dynamisch, das ist, warum ich brauchen, JSON, in dieser form
{
"supplyPrice": [
{
"name": "CAD",
"value": "78"
},
{
"name": "TRY",
"value": "34961.94"
},
{
"name": "CHF",
"value": "54600.78"
},
{
"name": "USD",
"value": "20735.52"
}
]
}
Wie dies zu tun mit GSON?
- Wenn ich verstehe deine Frage richtig, erhalten Sie möglicherweise ein JsonObject oder ein JsonArray. Sie können rufen Sie getAsJsonObject () - Methode, und es fehlschlägt, rufen Sie getAsJsonArray().
- Oder verwenden Sie isJsonObject () - Methode, und je nach Ergebnis, rufen Sie getAsJsonObject() oder getAsJsonArray().
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie Durchlaufen alle Tasten supplyPrice Objekt, und erstellen Sie Neue JSONArray mit, dass der Schlüssel-Wert weisen Sie dann neues array zu supplyPrice Schlüssel
rufen Sie dann die Funktion, wo Sie wollen
Hoffe, dass dieser Teil des Codes, um Ihnen zu helfen:
GSON verwendet POJO-Klassen zum Parsen von JSON in java-Objekte.
Erstellen Sie Eine java-Klasse, die Variablen mit Namen und Datentyp identisch Schlüssel der JSON-Objekt. Ich denke, dass die JSON-Sie bekommen ist nicht im richtigen format.
Und Ihre JSON sollte
Dann können Sie GSON `s " fromJson(String pJson, Klasse pClassType) zu konvertieren JAVA-Objekt
Nun können Sie die arraylist um die Daten zu erhalten.
Können Sie direkt konvertieren es in ein
HashMap or TreeMap
navigieren Sie dann Ihre Karte für alle Schlüssel.Wird dies einfachste Weg, das zu erreichen, was Sie wollen.
Dank Rohit Patil! Ich veränderte seinen code zu meiner situation und es funktioniert!
Einmal anschauen dieser.. kann Ihnen dabei helfen.
Sind wir nur eine Zeile code entfernt von der Umwandlung jsonObjects auf arrays(Nicht jsonArrays aber nach einer arrayList können Sie erstellen jsonArray auch leicht.)