Google Chrome将JSON AJAX响应显示为树而不是纯文本


215

我找不到这个答案:

我的AJAX调用返回JSON数据。在Google Chrome开发者工具>资源> XHR中,当我单击左侧的资源,然后在“内容”选项卡上时,我看到JSON字符串是字符串,而不是像Firebug和Firebug Lite那样的树。

如何强制Chrome将其像树一样显示。我的PHP文件必须具有Content-type吗?

我很想知道答案!

谢谢斯特凡诺斯


@Matt McClure的答案是答案!
bcm

当字符串是单引号'而不是双引号',将'更改为'帮助时,我也遇到了获取树结构的问题
Matt

Answers:


426

要在最新版本的Chrome中查看树状视图,请执行以下操作:

导航到开发人员工具>网络>给定的响应>预览


105
完全遮盖了“预览”选项卡,并正在查看“响应”选项卡。谢谢!
Ted Naleid

8
但是我认为要做到这一点,您需要具有正确的内容类型。
alexserver

4
是的,您需要为chrome指定一个有效的“ application / json”内容类型,才能使用可折叠的下拉菜单。
tweak2

5
确实,它的直观性要差一些,因为在“标题”选项卡上,它们使我们可以在“原始”和“已解析”之间进行切换,因此可以期望他们会在“响应”选项卡上提供类似的“已解析”视图。
G. Stoynev

1
我希望它实际上是JSON而不是树
Simon_Weaver

57

Google Chrome现在支持此(Developer Tools > Network > [XHR item in list] Preview)。

此外,您可以使用第三方工具来格式化json内容。 是一个呈现树视图的视图,是另一个仅格式化文本(并进行验证)的视图。


6

JSON数据的正确内容类型是application/json。我认为那是你所缺少的。


6
不幸的是,这仍然不能强制Chrome将JSON字符串转换为树。不过谢谢!
GRboss

3

我找到了答案:

您必须这样编码json:{"c":21001,"m":"p"}但不能{c:21001,m:"p"}{'c':21001,'m':'p'}

因此,字典的键必须用双引号引起来:",然后chrome将其预览为json而不是纯文本。


7
这是因为第一个是有效的JSON,而其他示例则不是(尽管它们是有效的javascript)。参见simonwillison.net/2006/oct/11/json
styfle

2

为了使其能够正确显示JSON消息,它必须具有“ application / json” mime类型并具有正确的结构。

您可以在这里检查结构




0

我不确定Chrome自上次回答以来是否已添加此功能,但是我可以通过以下方式查看json响应:

  • 在带有请求的页面上时,在浏览器中打开开发人员工具
  • 提交请求
  • 在开发人员工具的“控制台”选项卡中,单击资源下方的“对象”树以展开

...我能够将响应视为可读的层次结构,显示出要问的内容和返回的内容。(“网络”或“资源”选项卡都找不到我能找到的任何帮助。)

要求愉快!


-1

您可以使用Google Chrome扩展程序:JSONView 所有格式化的json结果将直接显示在浏览器中。


2
OP特别询问了开发工具中显示的json代码。
挖出
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.