json Chrome的开发工具将网络响应预览显示为字符串

oogrdqng  于 2023-05-02  发布在  其他
关注(0)|答案(2)|浏览(267)

在最近的一次更新(大约一个月前)后,似乎网络选项卡上的预览窗格已经停止将响应呈现为JSON对象。相反,它将响应作为字符串输出。这在更新之前按预期工作。

我们一直在发送正确的头类型,正如这个问题中所建议的-Chrome (43.0.2357.81) JSON tree in network preview panel
我还发现了一些建议,这是一个问题,在过去,但暗指事实上,它是固定的?- Google Chrome - Dev Tools - Network Tab - Preview - JSON vs. Text
我已经发布到开发工具的Twitter帐户,并提交了一封电子邮件/错误,没有进一步的输入。有没有人修复了 * 版本45的这个问题。0.2454.101(64位)* 或以前的版本?

v7pvogib

v7pvogib1#

这个问题在Chrome版本46中已经解决了。0.2490.71(对于Mac,尚未确认这是否是PC的问题/已解决)

xwbd5t1u

xwbd5t1u2#

JSON结果集 * 不能 * 作为对象处理的原因取决于JSON是如何形成的。结果JSON字符串必须使用 * 双引号 * 作为键和值,以便将其解析为对象。
换句话说,返回:

{ "msg" : "Success...", "numRows" : 23, "records" : [ { "name" : "Tony", ... ] } }

当我的JSON结果集停止被解析成对象时,其他人添加了使用 * 单引号 * 作为键和/或值的JSON。

{ "msg" : "Success...", ... , 'archiveMsg' : 'Using archive data' }

在数据结构中使用单引号只需要一个示例就可以中断显示。它在JavaScript中仍然可以正常工作,但我不知道为什么 AJAX 结果JSON现在是一个未解析的字符串,而不是一个对象。花了点时间才查出来。
Chrome和Brave是我唯一测试过的浏览器。
注意:可以返回“application/json”的头类型,但Chrome和Brave只是“漂亮地打印”了JSON结构。不太理想,但它帮助我一瘸一拐沿着直到我弄清楚真实的的问题是什么。

相关问题