json变量未定义

时间:2013-10-14 05:09:06

标签: javascript jquery json

我在名为json / img_desc.json

的文件夹中有一个json文件

这是json文件

{ "theimages":[
  {
    "number":1,
    "title":"Joy Toy teddy bear",
    "description":"In etc etc"
  } etc etc

然后我使用此代码尝试获取第一个值。

 $.getJSON('json/img_desc.json', function(theimages) {
    console.log(img_desc.theimages.number[0]);
});

错误

它说这个

  

[15:06:46.951] ReferenceError:未定义img_desc @   file:/// [为隐私而删除] /js/puzzle.js:246

3 个答案:

答案 0 :(得分:5)

应该是

$.getJSON('json/img_desc.json', function (theimages) {
    console.log(theimages.theimages[0].number);

    //if you want to loop
    $.each(theimages.theimages, function (idx, obj) {
        console.log(obj.number)
    })
});

答案 1 :(得分:2)

文档说http://api.jquery.com/jQuery.getJSON/#jQuery-getJSON-url-data-success-data--textStatus--jqXHR-它将传递普通对象作为第二个参数。所以,你可以做这样的事情

$.getJSON('json/img_desc.json', function(theimages) {
    $.each(theimages.theimages, function( index, val ) {
        console.log(val, val.number);
  });
});

答案 2 :(得分:1)

 $.getJSON('json/img_desc.json', function(img_desc) {
    console.log(img_desc.theimages.number[0]);
});

应该解决你的问题。好像你有任何其他问题,请在另一个问题中提出。