JsonObject из PHP в Android + безопасность

Привет всем, у меня есть этот выход php.

//fetching all the rows from the query
$row = $stmt->fetchAll();
//output to json
die(json_encode($row));

[{"u_id":"8","id":"8","name":"test1","location_long":"10.01475","location_lati":"53.57823","description":"loo\nlol","date":"2014-11-21","time":"18:00:00","date_created":"2014-11-20","date_updated":"0000-00-00"},
{"u_id":"8","id":"9","name":"test9","location_long":"10.01475","location_lati":"53.57823","description":"test9\n","date":"2014-11-21","time":"19:00:00","date_created":"2014-11-20","date_updated":"0000-00-00"},
{"u_id":"8","id":"10","name":"test10","location_long":"10.01475","location_lati":"53.57823","description":"lol","date":"2014-11-22","time":"19:00:00","date_created":"2014-11-20","date_updated":"0000-00-00"},
{"u_id":"8","id":"11","name":"lol","location_long":"10.01475","location_lati":"53.57823","description":"","date":"2014-11-24","time":"18:00:00","date_created":"2014-11-20","date_updated":"0000-00-00"}]

Теперь я хочу получить каждый элемент с его значением в свой элемент списка
Код:

JSONObject json = jsonParser.makeHttpRequest(
EVENTS_URL, "POST", params);

JSONArray jsonArray = new JSONArray(json);
for(int i = 0; i < jsonArray.length();i++)
{

adapter.add(new DataProvider(own_event,
jsonArray.getJSONObject(i).getString("description"),
jsonArray.getJSONObject(i).getString("name"),
jsonArray.getJSONObject(i).getString("date"),
jsonArray.getJSONObject(i).getString("time"),
jsonArray.getJSONObject(i).getDouble("location_long"),
jsonArray.getJSONObject(i).getDouble("location_lati"),
jsonArray.getJSONObject(i).getInt("id")));
}

Теперь я получаю эту ошибку:

Ошибка разбора данных org.json.JSONException: значение [] типа
org.json.JSONArray не может быть преобразован в JSONObject

В строке, где я создаю JSONArray jsonArray.

Я никогда раньше не работал с json, так что, есть ли лучший способ для анализа данных из моего php-файла на android, и более безопасный способ сделать это?

0

Решение

Ответ сервера приходит в JSONArray, поэтому нет необходимости конвертировать в JSONObject, просто скомпонуйте JSONArray из ответа сервера и верните как JSONArray вместо JSONObject из makeHttpRequest:

JSONArray jsonArray = jsonParser.makeHttpRequest(EVENTS_URL, "POST", params);
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]