Javascript 未定义的子对象

Javascript 未定义的子对象,javascript,jquery,json,object,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 例如,我可以执行con

我通过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)
总是返回未定义的。在控制台中,我实际上可以展开这两个属性并查看它们的子属性,所以看起来它们确实存在。我做错了什么

编辑:根据要求,以下是我为routes属性使用的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完全设置之前发生的自定义回调。我无法解释为什么我可以在控制台中直接引用属性前后看到对象,但仍然没有定义,但至少它已经解决了。

试试这个:
console.log($framework.routes[0])
记录第一项,
console.log($framework.routes[1])
如果您试图查看内容,请按此类推


在JSON中,
$framework.routes[0]。title
应返回
Root

注意
控制台.log
显示对象的当前状态,因此如果以后更改,可能就是它。如果您在JS控制台(而不是脚本)中运行
console.log($framework.routes)
,您会得到什么?您也可以显示JSON吗?在浏览器上添加一个屏幕截图或解释更多内容,因为数组不可能是未定义的。这是国家政策的改变object@Davidnbrooks我已经给你举了一个例子,告诉你如何使用
console.log
和对象。@AbdennourToumi,我明白了。我无法解释为什么在显示之后事情被声明为未定义,但看起来这是一个时间问题。函数的回调是在init之后返回的,而不是在一切都设置好之后。所以,虽然控制台日志$framework显示正确,但似乎我得到了一个变量场景的双重加载。它是固定的,但我不确定这一个是否合乎逻辑。再次感谢你的帮助!