2016-12-19 119 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); 

希望这会有所帮助:)

相关问题