Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将符号列表响应从fixer.io转换为json arraylist?(如何将JSON键值对转换为JSON数组)_Android_Json_Arraylist_Gson_Retrofit - Fatal编程技术网

Android 如何将符号列表响应从fixer.io转换为json arraylist?(如何将JSON键值对转换为JSON数组)

Android 如何将符号列表响应从fixer.io转换为json arraylist?(如何将JSON键值对转换为JSON数组),android,json,arraylist,gson,retrofit,Android,Json,Arraylist,Gson,Retrofit,我想显示带有currencyName和currencyCode的货币列表, 但是得到的回应是 { "success": true, "symbols": { "AED": "United Arab Emirates Dirham", "AFN": "Afghan Afghani" } } 我怎样才能把它转换成 { "success&q

我想显示带有currencyName和currencyCode的货币列表, 但是得到的回应是

{
  "success": true,
  "symbols": {
    "AED": "United Arab Emirates Dirham",
    "AFN": "Afghan Afghani"
  }
}
我怎样才能把它转换成

{
  "success": true,
  "symbols": [{
      "code": "AED",
      "name": "United Arab Emirates Dirham"
    },
    {
      "code": "AFN",
      "name": "Afghan Afghani"
    }
  ]
}   
我想在Android应用程序中显示列表。

尝试以下方法:

JSONObject resultObject = new JSONObject();
        try {
        resultObject.put("success",true);
        JSONArray jsonArray= new JSONArray();


            JSONObject jsonObject=new JSONObject(yourJsonString);

            JSONObject jsymbol= jsonObject.getJSONObject("symbols");
            Iterator<String> iter = jsymbol.keys(); //This should be the iterator you want.
            while(iter.hasNext()){
                String key = iter.next();
                String value = (String) jsymbol.get(key);

                JSONObject jsonObject1=new JSONObject();
                jsonObject1.put("code",key);
                jsonObject1.put("name",value);
                jsonArray.put(jsonObject1);

            }

            resultObject.put("symbols",jsonArray);//This will give you result you want


        } catch (JSONException e) {
            e.printStackTrace();
        }