2014-11-26 6 views
0

Привет всем У меня есть этот php-вывод.JsonObject от PHP до Android + безопасность

//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"))); 
} 

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

Error parsing data org.json.JSONException: Value [] of type org.json.JSONArray cannot be converted to JSONObject

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

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

+1

Попробуйте сделать JsonArray и вернуть его из makeHttpRequest вместо JSONObject. –

ответ

3

ответ сервера пришел в JSONArray поэтому нет необходимости конвертировать в JSONObject просто построить JSONArray от ответа сервера и возвращения JSONArray вместо JSONObject из makeHttpRequest:

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

Это действительно работает, но есть ли более безопасный способ? Если кто-то взламывает параметры и меняет user_id на то, что ему нужно? – K213

+0

@ Konter, для этого вам нужно реализовать механизм шифрования-дешифрования. –

+0

@HareshChhelana вы можете мне помочь? http://stackoverflow.com/questions/27393384/how-to-send-data-from-android-to-php-server-using-json?noredirect=1#comment43233981_27393384 –

Смежные вопросы