Парсинг значения, из ответа на GET запрос

Всем доброго. Подскажите, как спарсить значение из строки is_error_send(0 или 1):

{"count":1,
  "code":0,
  "data":[
             {
               "id":01010101,
               "phone":"79111111111",
               "date":"2000-01-1 01:01:11",
                "msg":"test",
                "id_device":1111,
                "send_to_phone":"2000-01-1 01:01:1",
                "is_send_to_phone":1,
                "is_send":1,
                "send":"2000-01-1 01:01:1",
                "is_delivered":1,
                "delivered":"2000-01-1 01:01:11",
                "is_cancel":0,
                "cancel":null,
                "is_error":0,
                "is_error_send":0,
                "error_date":null,
                "is_out":0,
                "type":2,
                "my_id":{}
               }
             ]
}

с помощью responseText.replace(/[^\\d]/g, '').slice(0, 1), в этом случае данное выражение берет первую цифру, а у меня задачка по сложнее...

Вот пример реализации, увы не работает:

var xap = new XMLHttpRequest();
xap.open('GET', 'https://site.ru/api/out.php?token=1111&device=0101&start_id=0101&end_id=0101', true);
xap.send();
xap.onreadystatechange = function(){
    if(xap.readyState == 4){
        if(xap.status == 200){
                console.log('result', responseText.data[0].is_error_send);
        }
  }
}


Ответы (2 шт):

Автор решения: Алексей Шиманский

Вначале надо сделать перевод текста в обычный json:

let obj = JSON.parse(responseText);

Теперь можно обращатсья с переменной obj, как с обычным объектом: свойствам обращатсья через точку, а к элементам массива - по индексу


Кстати, должно быть не responseText, а xap.responseText


Если указать тип ответа xap.responseType = "json";, то никакие JSON.parse уже не нужны будут

→ Ссылка
Автор решения: SwaD

Я бы вам рекомендовал использовать более современные способы отправки данных, например fetch

fetch('https://site.ru/api/out.php?token=1111&device=0101&start_id=0101&end_id=0101', {
  method: 'GET'
})
.then(res => res.json()) // Преобразуем ответ в json
.then(responseText => console.log(responseText.data[0].is_error_send))

fetch сделает GET запрос по указанному адресу, когда вернется ответ, его обработает первый .then() и преобразует ответ(это текст) в формат объекта(JSON).

Далее вызов будет передан во второй .then() где уже можете делать с полученным объектом необходимые действия.

В примере выше, вывод значения в консоль

→ Ссылка