Javascript 使用未命名数组

Javascript 使用未命名数组,javascript,json,xmlhttprequest,Javascript,Json,Xmlhttprequest,我正在调用一个API并成功地返回如下数组: [ { "absmag" : "4.85", "speed" : "0", "colorb_v" : "0.65", "label" : "Sun", "appmag" : "-26.72", "distance_light_years" : "0", "id" : "53794", "hipnum" : "0", "vy" : "0", "updated_at" : "49:09.3", "vx" : "0

我正在调用一个API并成功地返回如下数组:

[ {
  "absmag" : "4.85",
  "speed" : "0",
  "colorb_v" : "0.65",
  "label" : "Sun",
  "appmag" : "-26.72",
  "distance_light_years" : "0",
  "id" : "53794",
  "hipnum" : "0",
  "vy" : "0",
  "updated_at" : "49:09.3",
  "vx" : "0",
  "vz" : "0",
  "texnum" : "1",
  "plxerr" : "0",
  "created_at" : "49:09.3",
  "plx" : "0",
  "dcalc" : "0",
  "z" : "0",
  "luminosity" : "0.8913",
  "y" : "0",
  "x" : "0"
}
 ]
如何引用这些行中的每一行?我想做一些类似的事情:

var database = xml.responseText;
console.log(database.label);

xml.responseText
是一个数组,在显示
标签之前,您需要访问好的索引:

var database = xml.responseText;
console.log(database[0].label); // Add [0] because your example is an array of one element if you have more index refer to the edit  
如果响应是字符串,则需要在使用响应之前对其进行解析:

var database = JSON.parse(xml.responseText);
console.log(database[0].label);

编辑:

如果数组有多个索引,则可以使用循环:


您可以使用

var database = xml.responseText[0];  
console.log(database.label);

答案的关键在于你的问题。该值是一个数组。单个元素数组,其唯一元素是对象。因此,您必须像访问数组一样访问数组元素(即,使用索引),然后,因为这个单独的数组元素是一个对象,所以您必须像访问对象一样访问对象的属性(即,使用键)


使用示例代码,可以是:
console.log(数据库[0].label)
[0]
获取
数据库
数组的第一个(也是唯一一个)元素,
.label
获取该对象的“label”属性的值。

如果我理解正确,您希望生成的数组不只是像原始问题所描述的那样包含一个对象,但它可以包含许多对象

如果这是正确的,那么通过@R3tep、@talemyn和@trjast扩展正确答案,这个数组上的循环也会有所帮助,IMHO

var database=xml.responseText;
var length=database.length;
for(var i=0;i<length;i+=1){
  console.log(database[i].label);
}
var-database=xml.responseText;
var length=database.length;

对于(var i=0;它看起来更像JSON而不是XML…我如何从数组中获取所有标签,而不仅仅是[0]?是的,非常有用。干杯。
var database=xml.responseText;
var length=database.length;
for(var i=0;i<length;i+=1){
  console.log(database[i].label);
}