2016-12-13 2 views
-2

Пытается разобрать ответ json из URL-адреса в javascript.Javascript parse json из URL

Вот что ответ выглядит

{"data":[{"version":"7.4.0","startDate":"2016-12- 12","totalSessions":"6208723","totalCrashes":"2944","crashRate":"0.047"},{"version":"7.4.0","startDate":"2016-12-11","totalSessions":"4979676","totalCrashes":"2378","crashRate":"0.048"},{"version":"7.4.0","startDate":"2016-12-10","totalSessions":"534913","totalCrashes":"208","crashRate":"0.039"},{"version":"7.4.0","startDate":"2016-12-09","totalSessions":"309564","totalCrashes":"147","crashRate":"0.047"},{"version":"7.4.0","startDate":"2016-12-08","totalSessions":"255597","totalCrashes":"162","crashRate":"0.063"},{"version":"7.4.0","startDate":"2016-12-07","totalSessions":"21379","totalCrashes":"12","crashRate":"0.056"}]} 

Я могу сбросить выход JSon используя

var crash = $.post('http://localhost/crash_stats.php', function(data2) { 
    $('#show-list').html(data2); //shows json 

}); 

Тогда я попытался разобрать его с помощью

document.getElementById("placeholder").innerHTML=data2.data[0].version 

также пытался

obj = JSON.parse(crash); 
console.log(obj.data2[0].version); 

Но не повезло.

+1

'users' и' firstName' не находятся в вашем JSON. –

+0

Где вы называете 'JSON.parse()'? – Barmar

+0

Возможный дубликат [Безопасное превращение строки JSON в объект] (http://stackoverflow.com/questions/45015/safely-turning-a-json-string-into-an-object) –

ответ

0

Вы должны сообщить jQuery, что функция AJAX возвращает JSON, после чего она автоматически проанализирует ее для вас.

var crash = $.post('http://localhost/crash_stats.php', function(data2) { 
    $("#placeholder").text(data2.data[0].version); 
}, 'json'); 

Или вы можете позвонить по телефону JSON.parse() самостоятельно.

var crash = $.post('http://localhost/crash_stats.php', function(data2) { 
    var data = JSON.parse(data2); 
    $("#placeholder").text(data.data[0].version); 
}); 
+0

Я также выяснил другой способ, используя следующую функцию Get (yourUrl) { var Httpreq = new XMLHttpRequest(); // новый запрос Httpreq.open («GET», yourUrl, false); Httpreq.send (null); return Httpreq.responseText; } var json_obj = Get ("http: //localhost/metricsapi/api/crash_stats.php? Version = 7.4.0"); var jsonObj = JSON.parse (json_obj); Но я получаю следующую ошибку: «Uncaught SyntaxError: Неожиданный токен» – teej2542

+0

Нельзя использовать синхронный AJAX, он устарел. Изучите правильное программирование Javascript. – Barmar

+0

Ваш адрес неправильный. Это должно быть 'var json_obj = Get (" // localhost/metricsapi/api/crash_stats.php? Version = 7.4.0 ");' – Barmar