Не могу отпарсить JSON
Нужно получить данные вот из такого JSON`a:
{
"timeStamp":"2022-04-05T13:51:06.6688191",
"statusCode":200,
"status":"OK",
"message":"Races retrieved",
"data":
[
{"id":"1","carOwner":"Sergiy","time":"35s","date":"04/04/22","carToken":"dwafdawfaegfadfrfsvsf"},
{"id":"2","carOwner":"Roman","time":"37s","date":"04/04/22","carToken":"dwafdawfaegffasadfrfsvsf"},
{"id":"3","carOwner":"Yura","time":"36s","date":"04/04/22","carToken":"dwafdawfsacaegffasadfrfsvsf"},
{"id":"4","carOwner":"Nazar","time":"55s","date":"04/04/22","carToken":"dwafdawfsacaegffas"},
{"id":"5","carOwner":"Arsen","time":"34s","date":"04/04/22","carToken":"dwwfsacaegffas"}
]
}
Код JS:
JavaScript не учил от слова совсем, писал бэкенд, не ругайтесь
xhr.onload = function() {
var object = xhr.response;
for (var i=0;object.data.length;i++) {
var owner = object.data[i].carOwner;
}
alert(owner);
};
При попытке получаю вот такое:
вот REST Controller на бэкенде:
@GetMapping("/list")
public ResponseEntity<Response> getRaces() {
return ResponseEntity.ok(
Response.builder()
.timeStamp(now())
.data(raceService.findAll()) //return List<Race>
.message("Races retrieved")
.status(OK)
.statusCode(OK.value())
.build()
);
}
console.log(object.data[0]['carOwner'])
Ответы (1 шт):
Автор решения: kostik-rak
→ Ссылка
А можно целиком код с запросом а не с момента xhr.load... Возможно забыли перевести "ответ" в JSON так как с сервера приходит в виде строки, а не массив данных. Перевести можно таким образом xhr.responseType = 'json'; или таким JSON.parse(xhr.response)
Не понятно какого результата ты ждешь... переписывая переменную в теле цикла. Исправил твой цикл с переменной возможно угадал
var object = xhr.response;
var owner = '' //если нужна строка
var arrOwner = []//если нужен массив
for (var i=0; i<object.data.length; i++) {
owner += object.data[i].carOwner + ' ';
arrOwner.push(object.data[i].carOwner)
}
alert(owner);
alert(arrOwner);

