2016-12-19 41 views
0

我已存儲在像這樣的DB一個JSON,如何將JSON轉換爲HashMap並進行比較?

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

], 

打開我的應用程序的代碼,我做這樣的事情..

getISOProfileDB.getSupportedISOCodes(); 

我有一個字符串,用戶輸入(提供輸入字符串,如歐元,美元等)。我怎樣才能將上面的json轉換爲HashMap並將其與另一個字符串進行比較?我試圖實現的是,

  1. 將json的關鍵部分與用戶輸入字符串(EUR)進行比較。
  2. 如果它們都匹配,
  3. 解析json的值部分並將其存儲在變量中。

下面是我想要實現的,

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

回答

-1

您應該考慮使用的JSONObject(Jsonobject.org)或GSON。

+1

通過給出與OP代碼相關的示例,可以改進您的答案。就目前的情況而言,你的「答案」更多的是評論而不是解決方案。 –

0

使用GSON:

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

然後:

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

你可以做這樣的事情

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

然後獲得所選貨幣的用戶,你可以做

isoCodesMapList.get(userSelectedCurrency); 

希望這會有所幫助:)

相關問題