[英]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.