2017-02-10 3 views
0

Ich habe HashMap und JsonArrayRequest Objekt wie folgt erstellt. Die Antwort wurde erfolgreich abgerufen, aber das Hash-Map-Objekt url_maps size ist null. Ich möchte die for-Schleife in url_maps verwenden.Wie man Volley Antwort in HashMap speichert?

HashMap<String,String> url_maps = new HashMap<String, String>(); 

    // Creating volley request obj for Banner 
    JsonArrayRequest bannerReq = new JsonArrayRequest(bannerUrl, 
      new Response.Listener<JSONArray>() { 
       @Override 
       public void onResponse(JSONArray response) { 
        Log.d(msg, response.toString()); 
        // Parsing json 
        for (int i = 0; i < response.length(); i++) { 
         try { 
          JSONObject obj = response.getJSONObject(i); 
          url_maps.put("static key", "static value); 
         } catch (JSONException e) { 
          e.printStackTrace(); 
         } 

        } 

        // notifying list adapter about data changes 
        // so that it renders the list view with updated data 
        //adapter.notifyDataSetChanged(); 
       } 
      }, new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      VolleyLog.d(msg, "Error: " + error.getMessage()); 
     } 
    }); 
    // Adding request to request queue 
    AppController.getInstance().addToRequestQueue(bannerReq); 

Antwort

0

Diese Hoffnung Try This Ihnen helfen

public static void jsonToMap(String t) throws JSONException { 

    HashMap<String, String> map = new HashMap<String, String>(); 
    JSONObject jObject = new JSONObject(t); 
    Iterator<?> keys = jObject.keys(); 

    while(keys.hasNext()){ 
     String key = (String)keys.next(); 
     String value = jObject.getString(key); 
     map.put(key, value); 

    } 

    System.out.println("json : "+jObject); 
    System.out.println("map : "+map); 
} 
0

vielleicht können Sie ändern:

url_maps.put("static key", "static value); 

zu:

url_maps.put(obj.getString("static key"),obj.getString("static value"));