簡體   English   中英

解析json url

[英]Parsing json url

我正在嘗試從json網址創建圖像視圖。 我在字符串中使用for循環獲取url。 我不能在for循環之外使用該變量。 我試圖在for循環中構造一個arraylist。 這就是我在日志中得到的。

正在創建視圖... [[],[],[],[],[],[],[],[],[],[]]

這是我的代碼。

    @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

如果不確定如何從JSON創建POJO,建議您嘗試以下站點: http : //www.jsonschema2pojo.org/

它輸出一個完整的java類,該類適用於給定的json類型;

對於大多數情況,我建議您使用此配置(來自上面的網站):源類型:Json注釋樣式:無並且僅檢查使用原語。

希望能幫助到你 !

嗨,做如下事情

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

我認為您錯過了將值放入MAP的過程。

嘗試像這樣使用

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

            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM