子对象未定义

时间:2013-09-20 13:51:59

标签: javascript jquery json object

我通过jQuery解析了一些JSON并加载到对象$framework中。我可以致电console.log($framework),然后返回:

    Object 
    List item
    currentPage: Object 
    hash: "" 
    path: "/" 
    routes: Array[3] 
    url: "http://example.com.dev/"
    __proto__: Object

例如,我可以执行console.log($framework.path),但console.log($framework.currentPage)console.log($framework.routes)始终返回undefined。在控制台中,我实际上可以扩展它们并查看它们的子属性,所以看起来它们确实存在。我做错了什么?

编辑:根据要求,这是我正在使用的路径属性的JSON:

    {
    "routes": [
    {
        "title": "Root",
        "path": "/",
        "path_plain": "",
        "partial": "index",
        "container": "#main_content"
    },
    {
        "title": "Content",
        "path": "/content",
        "path_plain": "content",
        "partial": "content/index",
        "container": "#main_content"
    },
    {
        "title": "Dashboard",
        "path": "/dashboard",
        "path_plain": "dashboard",
        "partial": "dashboard/index",
        "container": "#main_content"
    }
]

}

编辑:在进一步完成这一过程之后,事实证明真正的罪魁祸首是在$ framework完全设置之前发生的自定义回调。我无法解释为什么在直接引用属性之前和之后我可以在控制台中看到对象并且仍然未定义,但至少它已经解决了。

1 个答案:

答案 0 :(得分:0)

请尝试以下操作:console.log($framework.routes[0])记录第一项,console.log($framework.routes[1])记录第二项,如果您正在尝试查看内容,依此类推。

根据您的JSON,$framework.routes[0].title应该返回Root