【问题标题】:Debugging JSON using Chrome's Dev Tools使用 Chrome 的开发工具调试 JSON
【发布时间】:2013-04-24 06:49:01
【问题描述】:

如何使用 Google Chrome 的控制台从以下页面访问 results 数组?

twitter.com/search.json?q=stackexchange

我不断收到此错误:

ReferenceError: 结果未定义

【问题讨论】:

    标签: json debugging google-chrome-devtools


    【解决方案1】:

    如果您真正想要以方便的方式浏览此结果集,只需安装one of JSON viewers for Chrome(最好是JSONView)。

    如果您不想安装任何插件,只需运行以下命令:

    JSON.parse($('.webkit-line-content').innerHTML);
    

    在页面的控制台中:

    view-source:https://search.twitter.com/search.json?q=stackexchange
    

    【讨论】:

    • +1 我已经安装了 JSONview。但我也想学习如何使用 Chrome 的控制台来访问这些对象。例如,我认为(错误地)我可以在控制台中使用以下命令访问数组结果:results.some_sibling
    • results 未在全局对象 (window) 上定义,因为您正在查看的只是一堆文本。它从未被 Konrad 建议的 JSON.parse() 解析。
    • @AlexanderPavlov 是正确的,Chrome 从 search.twitter.com/search.json?q=stackexchange 获取结果并将其显示为普通文本文件 - 它从未被解析,任何地方都没有创建 JSON 对象。
    • +1 谢谢康拉德和亚历山大。我现在开始更好地理解 JSON。
    【解决方案2】:

    您可以在 chrome 控制台选项卡中使用 console.debug() 函数。 示例:

    console.debug(results)
    

    【讨论】:

    • +1 我在 console.debug(results) "ReferenceError: results is not defined" 中遇到了同样的错误
    • 只能调试全局变量。试试这个:console.debug(__screenCapturePageContext__)
    • 嗯,我以为我可以从 Chrome 的控制台访问所有变量?
    • 是的。您可以输入:console.debug(,然后 CTRL+Space,您将看到所有可访问的对象和方法。
    • +1 酷。我真的很喜欢从控制台访问这些变量,希望我可以访问“结果”,因为它让我更容易理解 JSON。
    猜你喜欢
    • 1970-01-01
    • 2011-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-06
    • 2011-10-10
    • 2014-03-04
    相关资源
    最近更新 更多