来自URL的JS JSON

时间:2014-02-16 21:25:35

标签: javascript json

好吧,所以我一直试图弄明白这一点,看不出为什么这不起作用的原因。

我有一个创建此输出的网址:

[{"id":"1"},{"id":"2"},{"id":"3"},{"id":"4"},{"id":"5"},{"id":"6"},{"id":"7"},{"id":"8"},{"id":"9"},{"id":"10"},{"id":"11"},{"id":"12"},{"id":"13"},{"id":"14"}]

在我的JS文件中,我有简单的代码:

$.getJSON("path_to_url", function(data) { 
   console.log(data);                            
});

这给出了我的输出:

[Object { id="1"}, Object { id="2"}, Object { id="3"}, Object { id="4"}, Object { id="5"}, Object { id="6"}, Object { id="7"}, Object { id="8"}, Object { id="9"}, Object { id="10"}, Object { id="11"}, Object { id="12"}, Object { id="13"}, Object { id="14"}]

我一直在努力改变我的PHP文件以生成更好的方式等等,最后我就这么简单了。 但是我该如何从我的JS文件中“回应”这个呢?

console.log(data.(?));

提前致谢,如果您确实知道任何优秀且易于理解的文档,请告诉我们:)

4 个答案:

答案 0 :(得分:1)

查看jQuery的每个函数https://api.jquery.com/jQuery.each/

$.each(data, function( index, value ) {
    console.log(value.id);
});

答案 1 :(得分:0)

对象位于数组中。你可以像这样打电话给他们;

console.log(data[0].id);
console.log(data[1].id);

通过这种方式,您可以循环访问列表并访问每个ID。

更经典的描述;

[]是一个列表(或slice)(没有限制的数组)

{}是一个字典(或map),可以包含多维切片

[]只能通过索引(01等)访问。

由于JavaScript实际上没有经典类(不包括原型设计原则),对象只是字典(map)中变量和lambs函数的动态集合。

数组是高级语言中最常用的数据类型。它们将字节彼此绑定。 C中的简单word在Unicode引用中将如下所示:

[ 119 111 114 100 ]

这是int8(字节)的简单集合,其中字符串解析器知道要从字符集中显示哪个字母。

答案 2 :(得分:0)

数组的第0项是一个对象,所以要显示每个项目:

for (var key in data[0]) {
  if (data[0].hasOwnProperty(key)) {
    console.log(key + " -> " + data[0][key]);
  }
}

答案 3 :(得分:0)

如果您希望PHP文件生成一个id数组,那么首先需要知道语法,在浏览器的控制台中,您可以执行以下命令:

console.log(JSON.stringify([1,2,3,4]));//=[1,2,3,4]

所以在PHP中你可以创建一个id为

的数组
$idArray;//this is the array containing 0=>(id=>1),1=>(id=>2)
$ret;//the array that will return the id's
foreach($idArray as $id){
  $ret[]=$id["id"];
};
echo json_encode($ret);//should give the output [1,2,3,4];

在JavaScript中,你现在有一个数字数组,而不是一个对象数组,你可以像这样经历它们:

var i = -1,len = data.length;
while(++i < len){
  console.log("id at",i," is:",data[i]);
}