循环遍历Java中的JSON对象

我很难理解如何循环下面的json对象

[ {"course_slug":"course-4504","course_description":"A principle refers to a fundamental truth. It establishes cause and effect relationship between t...","course_name":"Principles of Management","course_thumb":"http:\/\/i1117.photobucket.com\/albums\/k594\/thetutlage\/principles_of-management.jpg?t=1359623785"}, {"course_slug":"course-4502","course_description":"Management accounting or managerial accounting is concerned with the provisions and use of accoun...","course_name":"Management Accounting","course_thumb":"http:\/\/i1117.photobucket.com\/albums\/k594\/thetutlage\/management_Accounting.jpg?t=1359623495"}, {"course_slug":"course-4503","course_description":"Quantitative Techniques","course_name":"Quantitative Techniques","course_thumb":""} ] 

你可以循环当前的json字符串:

  JSONArray jsonarr = new JSONArray("your json String"); for(int i = 0; i < jsonarr.length(); i++){ JSONObject jsonobj = jsonarr.getJSONObject(i); // get course_slug String str_course_slug=jsonobj.getString("course_slug"); // get course_description String str_course_description=jsonobj.getString("course_description"); //... for other elements } 
  String data = "[ { "course_slug": "course-4504", "course_description": "A principle refers to a fundamental truth. It establishes cause and effect relationship between t...", "course_name": "Principles of Management", "course_thumb": "http://sofzh.miximages.com/java/principles_of-management.jpg?t=1359623785" }, { "course_slug": "course-4502", "course_description": "Management accounting or managerial accounting is concerned with the provisions and use of accoun...", "course_name": "Management Accounting", "course_thumb": "http://sofzh.miximages.com/java/management_Accounting.jpg?t=1359623495" }, { "course_slug": "course-4503", "course_description": "Quantitative Techniques", "course_name": "Quantitative Techniques", "course_thumb": "" } ]"; JSONArray jArray = new JSONArray(data); int n = jArray.length; for(int i = 0; i < n; i++){ JSONObject jObj = jArray.getJSONObject(i); } 

尝试这个,

  String data = "[ {"course_slug":"course-4504","course_description":"A principle refers to a fundamental truth. It establishes cause and effect relationship between t...","course_name":"Principles of Management","course_thumb":"http:\/\/i1117.photobucket.com\/albums\/k594\/thetutlage\/principles_of-management.jpg?t=1359623785"}, {"course_slug":"course-4502","course_description":"Management accounting or managerial accounting is concerned with the provisions and use of accoun...","course_name":"Management Accounting","course_thumb":"http:\/\/i1117.photobucket.com\/albums\/k594\/thetutlage\/management_Accounting.jpg?t=1359623495"}, {"course_slug":"course-4503","course_description":"Quantitative Techniques","course_name":"Quantitative Techniques","course_thumb":""} ]"; JSONArray jArray = new JSONArray(data); for(int i = 0; i < jArray.length(); i++){ String str = jarray.getJSONObject(i).getString("course_slug"); } 

Square括号代表JsonArray。 Curly代表JsonObjects。 所以在你的例子中,你有一个带有3个JsonObjects的JsonArray。

那么“jsonArrayCourse”就是你的JsonArray

  for (int i = 0; i < jsonArrayCourse.length(); i++) { JSONObject c = jsonArrayCourse.getJSONObject(i); String course_slugText = c.getString("course_slug"); String course_descriptionText = c.getString("course_description"); String course_nameText = c.getString("course_name"); String course_thumbURL = c.getString("course_thumb"); } 

也不要忘记尝试捕获course_thumpURL,以防它没有任何值。