2016-12-19 6 views
0

Ich habe ein json in einem DB wie folgt gespeichert,Wie konvertiert man JSON zu HashMap und vergleicht sie?

"supported_iso_codes":[ 
{ 
     "EUR": "978", 
     "USD": "840" 
    } 

], 

Um dies in meinem App-Code zugreifen, Ich mache das so etwas wie ..

getISOProfileDB.getSupportedISOCodes(); 

Ich habe eine Zeichenfolge, die die Benutzereingaben (liefert Eingabezeichen wie EUR, USD, usw.). Wie kann ich den obigen JSON in eine HashMap konvertieren und mit einer anderen Zeichenfolge vergleichen? Was ich versuche zu erreichen, ist,

  1. Vergleichen Key Teil von JSON mit Benutzereingabe Zeichenfolge (EUR).
  2. Wenn beide übereinstimmen,
  3. Parsen Sie den Wert Teil von JSON und speichern Sie es in einer Variablen.

Im Folgenden finden Sie, was ich versuche zu erreichen,

tran.setCurrency(hashMapOfJson.get(currencyString)); 

Antwort

-1

Sie sollten mit JSONObject (Jsonobject.org) oder Gson betrachten.

+1

Sie würden die Antwort verbessern, indem Sie ein Beispiel geben, das für den OP-Code relevant ist. Wie es derzeit existiert, ist Ihre "Antwort" eher ein Kommentar als eine Lösung. –

0

Verwendung Gson:

dependencies { 
    compile 'com.google.code.gson:gson:2.2.4' 
} 

Und dann:

Map<String, Object> supported_iso_codes = new Gson().fromJson(getISOProfileDB.getSupportedISOCodes(), new TypeToken<HashMap<String, Object>>() {}.getType()); 
0

Sie können

 Gson gson = new Gson(); 
     Type type = new TypeToken<List<Map<String, String>>>(){}.getType(); 
     final ArrayList<HashMap<String,String>> isoCodesMapList = gson.fromJson(data, type); 
     System.out.println(arrayList); 

dann so etwas tun ausgewählt, um den Benutzer für das Erhalten Währung können Sie tun

Hoffe, dass dies hilft :)

Verwandte Themen