Я могу получить json-ответ от json_encode с php, и я смог показать его в своем логарифме в eclipse, каков был ответ:
[{"idusers":"1","full_name":"Test Subject","get_email":"[email protected]"},
{"idusers":"2","full_name":"Test Subject_2","get_email":"[email protected]"}]
Теперь я пытаюсь
//parse json data
try {
JSONArray jArray = new JSONArray(result);
for(int i =0; i<jArray.length(); i++){
JSONObject json_data = jArray.getJSONObject(i);
Log.i("log_tag","id: "+json_data.getInt("idusers")+
", Full Name: "+json_data.getString("full_name")+
", Email: "+json_data.getString("get_email")
);
}
}catch(JSONException e){
Log.e("log_tag","Error parsin data "+e.toString());
}
Тем не менее, я получаю сообщение об ошибке
Error parsin data org.json.JSONException: Value testing of type java.lang.String cannot be converted to JSONArray
Есть ли способ исправить проблему JSONArray?
Заранее спасибо!
Узнал, что произошло. У меня была строка в документе PHP и не вызывалась. У меня было слово "тестирование", которое было словом ошибки. Как только это "тестирование" было удалено, оно сработало. благодаря
Ваш JSON недействителен. Котировка (") отсутствует в значении" get_email "во втором элементе массива.
Должно быть:
[
{
"idusers": "1",
"full_name": "Test Subject",
"get_email": "[email protected]"
},
{
"idusers": "2",
"full_name": "Test Subject_2",
"get_email": "[email protected]"}]
Попробуйте добавить приведение к переменным PHP, возвращаемым JSON. Кроме того, вы используете json_encode?
$user_id = (int) $id;
$email = (string) $email;
while($get = $SQL->fetch(PDO::FETCH_ASSOC)){ $output[]=$get; } print(json_encode($output));
в своем PHP-файле, в while($get = $SQL->fetch(PDO::FETCH_ASSOC)){ $output[]=$get; } print(json_encode($output));