Tôi nhận chuỗi JSON từ trang web. Tôi có dữ liệu mà trông như thế này (JSON Mảng)Cách kiểm tra xem đối tượng đã cho là đối tượng hoặc Mảng trong chuỗi JSON
myconf= {URL:[blah,blah]}
nhưng một số lần dữ liệu này có thể được (JSON đối tượng)
myconf= {URL:{try}}
cũng nó thể để trống
myconf= {}
Tôi muốn để thực hiện các hoạt động khác nhau khi đối tượng của nó và khác nhau khi một mảng của nó. Cho đến bây giờ trong mã của tôi tôi đã cố gắng để xem xét chỉ mảng vì vậy tôi nhận được ngoại lệ sau đây. Nhưng tôi không thể kiểm tra đối tượng hoặc mảng.
Tôi nhận được ngoại lệ sau đây
org.json.JSONException: JSONObject["URL"] is not a JSONArray.
bất cứ ai có thể đề xuất như thế nào nó có thể được cố định. Ở đây tôi biết rằng các đối tượng và mảng là các cá thể của đối tượng JSON. Nhưng tôi không thể tìm thấy một chức năng mà tôi có thể kiểm tra xem các trường hợp nhất định là một mảng hoặc đối tượng.
Tôi đã cố gắng sử dụng này nếu điều kiện nhưng không thành công
if (myconf.length() == 0 ||myconf.has("URL")!=true||myconf.getJSONArray("URL").length()==0)
Cảm ơn. Tôi đã chỉnh sửa câu hỏi của tôi có thể nó sẽ làm cho cảm giác hơn những gì tôi đang tự hỏi về. Bạn có thể đưa ra ví dụ cho nếu (mục instanceof JSONArray). Tôi nên đặt gì nếu điều kiện? – Judy
Đó là * ví dụ. Toán tử 'instanceof' sẽ cho bạn biết nếu' item' là một 'JSONArray'. Chờ chút, hãy nói một chút. – cHao
Cảm ơn Chao. Trên thực tế nó đã làm việc. Nhưng chuỗi cũng có thể rỗng. Vì vậy, tôi nhận được lỗi cho điều đó. if (! myconf.isNull ("URL") || (myconf.getJSONArray ("URL")! = null) || myconf.getJSONArray ("URL"). length()> 0) {Object item = myconf.get ("URL"); // mã khác} Tôi nhận được JSONObject ngoại lệ ["URL"] không tìm thấy. – Judy