如何获取JSON数据的第一个元素?

4
我想获取 JSON 数组中的第一个元素。
我的 JSON 数据:
{  
 id:"1",
 price:"130000.0",
 user:55,
}
{  
  id:"2",
  price:"140000.0",
 user:55,
}

我想获取第一个 JSON 元素的价格。
价格:「13000.0」
我的代码:
$.each(data_obj, function(index, element) {
    $('#price').append(element.price[0]);
});

但我的输出是'1'。

可能是重复的问题:如何访问JSON对象数组的第一个元素?(链接:https://dev59.com/KF4b5IYBdhLWcg3wfx5J) - Anuga
尝试使用'element.price'而不是'element.price[0]',这会将价格拆分为数组,这就是您的代码所做的,您会得到价格的第一个字符,即'1'。 - NLxDoDge
8个回答

4

Assuming that you have array of objects

var arr = [{  
      id:"1",
      price:"130000.0",
      user:55,
     },
     {  
       id:"2",
       price:"140000.0",
      user:55,
     }]

     console.log(arr[0].price)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


@c.grey 我猜你有一个JSON字符串,你需要先将它解析成JSON格式,然后就可以按照我给出的示例获取数据了。为此,请使用JSON.parse(data)进行解析。 - Ali Shahbaz
我已经解析了JSON数据。 - rahul.m

4

您的数据不是有效的JSON格式,JSON数据的键必须用双引号括起来,但您的数据没有用双引号包装。

var data = [{  
    "id":"1",
    "price":"130000.0",
    "user":55
},{  
    "id":"2",
    "price":"140000.0",
    "user":55
}]

console.log(data[0]["price"]);


1
你只需要在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.log(priceValue);

您的答案将是 13000.0。

0
以下是解决我的问题的方法 我使用return false;
$.each(data_obj, function(index, element) {
     $('#price').append(element.price[0]);
     return false;
  });

这只返回数组元素的第一个值。


0
具有您的JSON数据的元素意味着我们可以使用以下代码来获取第一个JSON数据。
element[0].price

谢谢。


0
你正在使用 for 循环和 in 函数,其中在函数中获取 2 个参数,第一个是索引,第二个是元素本身。这将遍历所有元素。
$.each(data_obj, function(index, element) {
      $('#price').append(element.price);
});

如果你只想获取第一个元素

$('#price').append(data_obj[0].price);

我只想要第一个对象。 - rahul.m
那你为什么要使用循环呢?$('#price').append(data_obj[0].price); - Void Spirit

0
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);

0
如果你只想要第一个商品的价格,这里不需要循环。
$('#price').append(data_obj[0].price);

这里可以工作。

如需进一步阅读,您可以参考此处


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接