无法解析JSON结果

时间:2015-05-05 16:13:53

标签: json here-api

我正在尝试实施HERE.COM路由API。它利用JSON和回调函数返回结果。这是我的代码:

    function GetResults() {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        strSource = 'http://route.cit.api.here.com/routing/7.2/calculateroute.json?app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg&waypoint0=geo!52.5,13.4&waypoint1=geo!52.5,13.45&mode=fastest;car;traffic:disabled&representation=overview&metricSystem=imperial&jsonCallback=renderNarrative';
        script.src = strSource
        document.body.appendChild(script);
    }

    function renderNarrative(response) {
        alert(response.route[0].summary.baseTime);
    }

返回生成的JSON对象,但该对象的读取失败。 (注意:如果删除jsonCallback参数,则可以在单独的浏览器窗口中运行源以查看返回的JSON信息。)它已正确构造,可以使用循环遍历整个数据结构的JSON解析例程进行查看。但是,我尝试通过直接引用读取特定信息失败。具体来说,我收到以下错误:无法获取属性'0'的值:对象为null或未定义

我已经使用MapQuest API完成了类似的工作,它工作得很好,但是这个工作没有用。有人建议我使用JSON.parse函数,但它失败了,因为结果在返回之前已经被解析了。我确信这很简单,我很想念......

1 个答案:

答案 0 :(得分:0)

我能够弄清楚这一点。显然,数据是在第二个"响应中返回的。宾语。所以,我需要使用response.response.route [0] .summary.baseTime。怪异。