Я хочу получить только 1-й элемент массива json
мои данные json:
{
id:"1",
price:"130000.0",
user:55,
}
{
id:"2",
price:"140000.0",
user:55,
}
я хочу получить доступ к цене 1-го элемента json цена: "13000.0"
мой код
$.each(data_obj, function(index, element) {
$('#price').append(element.price[0]);
});
но мой результат это '1'
Попробуйте 'element.price' вместо 'element.price [0]', который разбивает цену в массиве, что и делает ваш код, вы получаете первый символ цены, который равен '1'.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Предполагая, что у вас есть массив объектов
var arr = [{
id:"1",
price:"130000.0",
user:55,
},
{
id:"2",
price:"140000.0",
user:55,
}]
console.info(arr[0].price)<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>@ c.grey Я думаю, у вас есть строка JSON, вам нужно сначала проанализировать свою строку JSON на JSON, тогда вы сможете получать данные в соответствии с моим данным примером. Для этого разобрать с JSON.parse(data)
Я проанализировал данные JSON
Элемент, содержащий ваши данные JSON, означает, что мы можем использовать приведенный ниже код для получения первых данных JSON.
element[0].price
Спасибо,
Вы используете для каждого цикла, и в функции вы получаете 2 параметра: первый - это индекс, а второй - сам элемент. Таким образом, это будет повторяться по всем элементам.
$.each(data_obj, function(index, element) {
$('#price').append(element.price);
});
Если вы просто хотите получить первый элемент
$('#price').append(data_obj[0].price);
я хочу только 1-й объект
Так почему вы используете loop tho? $ ('# цена'). append (data_obj [0] .price);
var my_first_json_obj = data_obj[0]; // Your first JSON obj (if it's an array of json object)
var my_price = my_first_json_obj.price; // Your price
$('#price').append(my_price);
Ваши данные недействительны JSON, ключ данных JSON должен быть заключен в двойные кавычки, но ваши данные не заключены в двойные кавычки
var data = [{
"id":"1",
"price":"130000.0",
"user":55
},{
"id":"2",
"price":"140000.0",
"user":55
}]
console.info(data[0]["price"]);Если вам нужна только цена первого предмета, вам не нужен цикл.
$('#price').append(data_obj[0].price);
будет работать здесь.
Для дальнейшего чтения вы можете обратиться к здесь
Здравствуйте, вам просто нужно добавить [] от начальной и конечной точки вашей строки json. см. здесь var data = JSON.parse( '[{ "id":"1","price":"130000.0","user":55},{"id":"2","price":"140000.0","user":55}]');
var priceValue = 0;
$.each(data, function(index, element) {if (index == 0){ priceValue = element.price;}});console.info(priceValue);
Ваш ответ будет 13000.0
Ниже приведено решение, которое помогло моей проблеме. Я использую вернуть ложь;
$.each(data_obj, function(index, element) {
$('#price').append(element.price[0]);
return false;
});
Что дает только 1-е значение элементов массива.
Возможный дубликат Как получить доступ к первому элементу массива объектов JSON?