Tôi có JSON tập tin như sau đó phải được đổ vào một ArrayList:Kiểm tra nếu một JSON Object đặc biệt là có sẵn hay không
{
"main1" : [
{
"child1" : valueA,
"child2" : valueB,
"child3" : valueC,
},
{
"child1" : value1,
"child3" : value3,
},
],
"main2" : "valueMain2"
}
Yếu tố child2
phải được kiểm tra nếu nó tồn tại hay không và sau đó giá trị được lấy. Bạn có thể thấy rằng nó không xuất hiện trong mảng thứ hai.
Tôi đang sử dụng JSON Native (org.JSON) Java Code là dưới đây:
ArrayList<HashMap<String,String>> myList = new ArrayList<HashMap<String,String>>();
JSONObject json = <my_json_object>;
JSONObject getchild2;
JSONArray jArray = <my_json_object>.getJSONArray("main1");
for(int j = 0; j < jArray.length(), j++){
HashMap<String,String> map = new HashMap<String,String>();
map.put("First Value", jArray.getJSONObject(j).getString("child1"));
map.put("Third Value", jArray.getJSONObject(j).getString("child3"));
getchild2 = jArray.getJSONObject(j).getJSONObject("child2");
if(getchild2 == null){
map.put("Second Value", "Some Dummy Value");
} else {
map.put("Second Value", jArray.getJSONObject(j).getString("child2"));
}
myList.add(map);
}
Làm thế nào tôi có thể đạt được điều này?
<my_json_object>
sử dụng có nguồn gốc Parsing URL như tôi nhận Phản hồi HTTP của một yêu cầu URL tìm thấy ở đây: http://mobisys.in/blog/2012/01/parsing-json-from-url-in-android/
Nó không làm việc như là lỗi dưới đây:
E/AndroidRuntime(664): Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
Vui lòng dán mã và lỗi của bạn nếu bạn nhận được bất kỳ – UVM
Bạn có thể vui lòng dán mã java, cách bạn chuyển đổi json thành đối tượng json không? – pavi
Đã thêm mã !! Làm ơn hãy kiểm tra và báo cho tôi. – curlyreggie