如何使用javascript解决jSON问题

时间:2009-06-09 12:34:23

标签: jquery json

Fist off,这是我用PHPs json_encode函数创建的jSON对象

{
    "Gatwick":[
        {
            "destination":"VCE",
            "destination_name":"Venezia Marco Polo"
        },{
            "destination":"VCE",
            "destination_name":"Venezia Marco Polo"
        },{
            "destination":"VCE",
            "destination_name":"Venezia Marco Polo"
        }
    ],
    "Heathrow":[
        {
            "destination":"VCE",
            "destination_name":"Venezia Marco Polo"
        },{
            "destination":"VCE",
            "destination_name":"Venezia Marco Polo"
        }
    ]
}

据我所知,我认为这是好的。我使用jQuerys $ .getJSON(...)函数请求了对象。

假设所有这一切都是正确的,我不能为我的生活弄清楚如何访问json对象中的数据,甚至违反任何类型的响应,以指示任何事情发生在幕后。

我最近的尝试是从像这样的jQuery文档中复制示例......

$.getJSON(url, callBack);

function callBack(data){
    $.each(data.items, function(i, item){
        alert("YO");
    });
}

哪会产生以下javascript错误

jquery-1.2.6.min.js(第19行) TypeError:表达式'object'[undefined]的结果不是对象。

哪个有点神秘。特别是因为使用这个

function callBack(data){ alert(data); }

说[object Object]

但是这个

function callBack(data){ alert(data[0]); }

什么也没给我。

我在哪里错了?

3 个答案:

答案 0 :(得分:3)

jQuery示例中的“.items”是.NET的东西 - 你有data.Gatwick[0].destination == 'VCE'

答案 1 :(得分:1)

您的数据对象中没有“项目”...只需使用

即可
$.each(data, function(i, item){

您可以这样做:

item[0].destination

答案 2 :(得分:0)

PHP返回的JSON不是数组。注意花括号,而不是方括号。