При попытке вывести полученный json jquery валится с ошибкой -
jquery.min.js:2
Uncaught TypeError: Cannot use 'in' operator to search for '2520' in.
Вот json:
[
{
name: "ААА АААААА",
lat: "43.1662323931",
lng: "131.923339512",
status: null
},
{
name: "ВЫАЫВА ААААА АААА",
lat: "43.09832378",
lng: "131.92623462",
status: null
},
{
name: "ЗЗЗЗЗЗ ЗЗЗЗ ХЗЗЗ",
lat: "43.16569999995",
lng: "131.94030216",
status: null
}
]
Вот как пытаюсь вывести значения:
$.ajax({
url:'some.php',
success:function(data){
var dataPlacemark=JSON.parse(data);
$.each(data,function(i,item){
console.log('Статья: id = '+data.name );
})
}
});
В примере указан не JSON а массив объектов. Если предположить что это уже полученные данные
let data = [{
name: "ААА АААААА",
lat: "43.1662323931",
lng: "131.923339512",
status: null
},
{
name: "ВЫАЫВА ААААА АААА",
lat: "43.09832378",
lng: "131.92623462",
status: null
},
{
name: "ЗЗЗЗЗЗ ЗЗЗЗ ХЗЗЗ",
lat: "43.16569999995",
lng: "131.94030216",
status: null
}];
Тогда для вывода в цикле используем конструкцию:
$.each(data, function(i,item){
console.log('Статья: id = '+item.name )
})
Не надо парсить JSON, если это конечно он.
$.ajax({
url: 'https://jsonplaceholder.typicode.com/users',
success: function(data) {
//var dataPlacemark=JSON.parse(data); // No need to JSON.parse
$.each(data, function(i, item) {
console.log('Статья: id = ' + data[i].name);
})
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Решил следующим способом:
$.ajax({
url:'some.php',
success:function(data){
var sample= JSON.parse(data);
$.each(sample,function(){
console.log('Имя = '+ this.name );
console.log('lat = '+ this.lat );
console.log('lang = '+ this.lng );}
});
Сборка персонального компьютера от Artline: умный выбор для современных пользователей