Otrzymuję ciąg JSON ze strony internetowej. Mam dane, które wygląda następująco (JSON tablicy)Jak sprawdzić, czy dany obiekt jest obiektem lub tablicą w łańcuchu JSON
myconf= {URL:[blah,blah]}
ale niektórzy razy Dane te mogą być (obiekt JSON)
myconf= {URL:{try}}
również może być pusty
myconf= {}
chcę wykonywać różne operacje, gdy jego obiekt i inne, gdy jest to tablica. Do tej pory w moim kodzie próbowałem rozważyć tylko tablice, więc dostaję następujący wyjątek. Ale nie jestem w stanie sprawdzić obiektów ani tablic.
otrzymuję następujący wyjątek
org.json.JSONException: JSONObject["URL"] is not a JSONArray.
Może ktoś sugerują, jak to może być ustalona. W tym miejscu wiem, że obiekty i tablice są instancjami obiektu JSON. Ale nie mogłem znaleźć funkcji, dzięki której mogę sprawdzić, czy dana instancja jest tablicą lub obiektem.
Próbowałem, używając tego, czy warunek, ale bez powodzenia
if (myconf.length() == 0 ||myconf.has("URL")!=true||myconf.getJSONArray("URL").length()==0)
Dzięki. Zmieniłem moje pytanie, może to będzie miało więcej sensu, o co się zastanawiam. Czy możesz podać przykład jeśli (item instanceof JSONArray). Co powinienem umieścić, jeśli warunek? – Judy
To * jest * przykładem. Operator 'instanceof' powie ci, czy' item' jest 'JSONArray'. Chwileczkę, lemme to trochę. – cHao
Dzięki Chao. Właściwie to zadziałało. Ale ciąg może być również pusty. Tak też dostaję błąd. if (! myconf.isNull ("URL") || (myconf.getJSONArray ("URL")! = null) || myconf.getJSONArray ("URL"). length()> 0) {Obiekt obiektu = myconf.get ("URL"); // inny kod} Otrzymuję wyjątek JSONObject ["URL"] nie znaleziono. – Judy