я получаю ошибку, когда я пытаюсь получить объект JSON от сервера после того, как получить все объекты и поместить в массив JSON:org.json.simple.JSONObject не могут быть преобразованы в JSONObject
JSONObject object = null;
try {
object = jsonArray.getJSONObject(i);
} catch (JSONException e) {
e.printStackTrace();
}
Этот код возвращает:
W/System.err: **org.json.JSONException**:
Value {"keywords":"","autor":"","resposta_complete":"Incomplete","revisor2":"","referencias":"","revisor3":"","revisor1":"","setor_pergunta":"","pergunta_anterior":"","resposta_curta":"","resposta_longa":"","record_id":"178","data_resposta":"2016-10-17","imagem":"","class_pergunta":"Nao se trata de uma pergunta, ou ela esta ininteligivel.","revisor_externo":"","pergunta_revisada":""}
at 167 of type org.json.simple.JSONObject cannot be converted to JSONObject
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at org.json.JSON.typeMismatch(JSON.java:100)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at org.json.JSONArray.getJSONObject(JSONArray.java:484)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at ft.projetorisadinha.classes.LoadData$Load.populate(LoadData.java:206)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at ft.projetorisadinha.classes.LoadData$Load.doInBackground(LoadData.java:138)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at ft.projetorisadinha.classes.LoadData$Load.doInBackground(LoadData.java:63)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.lang.Thread.run(Thread.java:856)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: java.lang.NullPointerException
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at ft.projetorisadinha.classes.LoadData$Load.populate(LoadData.java:210)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at ft.projetorisadinha.classes.LoadData$Load.doInBackground(LoadData.java:138)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at ft.projetorisadinha.classes.LoadData$Load.doInBackground(LoadData.java:63)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:287)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:234)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
10-17 17:32:34.660 15402-15453/ft.projetorisadinha W/System.err: at java.lang.Thread.run(Thread.java:856)
Когда я запускаю это в API 23, все в порядке. Это проблема поддержки API? Как я могу это решить?
UPDATE
Внутри моей деятельности:
private org.json.simple.JSONArray array_obj = null;
Внутри моего кода, вот где я анализирую JSON:
if (reader == null)
reader = new BufferedReader(new InputStreamReader(response.body().byteStream()));
while ((line = reader.readLine()) != null) {
JSONParser parser_obj = new JSONParser();
if (array_obj == null) {
array_obj = (org.json.simple.JSONArray) parser_obj.parse(line);
jsonArray = new JSONArray(array_obj);
}
}
и вот мой импорт JSON:
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.json.simple.parser.JSONParser;
Нет, та же ошибка. Но я думаю, что это ошибка при бросании: note -> type org.json.simple.JSONObject не может быть преобразован в JSONObject –
Используйте 'import org.json.JSONObject;' вместо –
Я использую это. Я уточню свой вопрос с дополнительной информацией. –