2014-06-17 189 views
0

我想從json url創建一個圖像視圖。我正在使用字符串中的for循環獲取URL。我無法在for循環之外使用該變量。我試圖在for循環中構建一個arraylist。這是我在日誌中得到的。解析json url

創建視圖... [[] [] [] [] [] [] [] [] [] []]

這裏是我的代碼。

@Override 
    protected JSONObject doInBackground(String... args) { 

     JSONParser jParser = new JSONParser(); 
     // Getting JSON from URL 
     JSONObject json = jParser.getJSONFromUrl(url); 

     // Log.v("url", "Creating view..." + json); 

     try { 

      // Getting JSON Array from URL 
      android = json.getJSONArray(TAG_URL); 

      for (int i = 0; i < android.length(); i++) { 

       map = new ArrayList<HashMap<String, String>>(); 
       JSONObject c = android.getJSONObject(i); 

       String name = c.getString(TAG_URL); 

       arraylist.add(map); 



       // Log.v("url", name); 
      } 
      Log.v("url", "Creating view..." + arraylist); 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 


     return null; 

    } 

這裏是JSON: http://www.json-generator.com/api/json/get/ciCLARKtKa?indent=4

+0

什麼是JSON?發佈它 –

+0

http://www.json-generator.com/api/json/get/ciCLARKtKa?indent=4 – diwa

回答

0

我想你錯過這些值放到地圖。

嘗試使用這樣

for (int i = 0; i < android.length(); i++) { 
       JSONObject c = android.getJSONObject(i); 
       // Storing each json item in variable 
       String flag = c.getString("flag"); 
       HashMap<String, String> map = new HashMap<String, String>(); 
       map.put("flag", flag); 
       arraylist.add(i, map); 

      } 
+0

創建視圖... [{flag = flag},{flag = flag},{flag = flag} ,{flag = flag},{flag = flag},{flag = flag},{flag = flag},{flag = flag},{flag = flag},{flag = flag}] ..這就是我得到的.. – diwa

+0

哎對不起..我在嘗試你的之前犯了一個錯誤..它的工作..謝謝.. – diwa

1

當如何從一個JSON創建一個POJO疑問,我建議你試試這個網站: http://www.jsonschema2pojo.org/

它輸出你一個完整的Java適用於給定json類型的類;

在大多數情況下,我建議你使用這個配置(從網站上): 源類型:Json的 註釋風格:無 併爲您只能使用原語。

希望它有幫助!

1

喜做一些事情如下

JSONObject primaryObject = new JSONObject(//yours json string); 
    JSONArray primaryArray = primaryObject.getJSONArray("worldpopulation"); 
    for (int i = 0; i < primaryArray.length(); i++) { 

     JSONObject another = primaryArray.getJSONObject(i); 
     String country = another.getString("country"); 
     String flag = another.getString("flag"); 
     int rank = another.getInt("rank"); 
     String population = another.getString("population"); 

     HashMap<String, String> map = new HashMap<String, String>(); 
     map.put("flag", flag); 
     arraylist.add(i, map); 
    }