Android: строка не может быть преобразована в JSONArray?

1

Я могу получить 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?

Заранее спасибо!

  • 1
    К концу вашей строки «отсутствует». Это причина вашей проблемы или это просто опечатка?
  • 0
    stackoverflow.com/questions/9441932/...
Показать ещё 1 комментарий
Теги:
http

3 ответа

1
Лучший ответ

Узнал, что произошло. У меня была строка в документе PHP и не вызывалась. У меня было слово "тестирование", которое было словом ошибки. Как только это "тестирование" было удалено, оно сработало. благодаря

1

Ваш JSON недействителен. Котировка (") отсутствует в значении" get_email "во втором элементе массива.

Должно быть:

[
    {
        "idusers": "1",
        "full_name": "Test Subject",
        "get_email": "[email protected]"
    },
    {
        "idusers": "2",
        "full_name": "Test Subject_2",
        "get_email": "[email protected]"}]
  • 0
    это определенно просто опечатка. потому что я получаю ответ от bufferreader
0

Попробуйте добавить приведение к переменным PHP, возвращаемым JSON. Кроме того, вы используете json_encode?

$user_id = (int) $id;
$email = (string) $email;
  • 0
    Я использую json_encode в моем php
  • 0
    Это то, что я 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));
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню