2013-02-06 71 views
5

我有很难理解一个JSON对象,我如何通过下面的JSON对象循环遍历Java的

[ 
    {"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":""} 
] 

回答

14

你可以通过电流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 
    } 
+0

似乎工作 –

+0

@AmanVirk:你需要ArrayList或HaspMap来存储解析结果并在整个应用程序中使用它 –

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

int n = jArray.length; 

for(int i = 0; i < n; i++){ 

JSONObject jObj = jArray.getJSONObject(i); 
} 
1

试试这个,

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


    } 
1

方括号repr提供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。