You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox内置JSON Viewer能否启用宽松解析支持非标准JSON?

解决Firefox JSON Viewer不支持非标准JSON(无引号属性)的问题

很遗憾,Firefox目前没有内置的about:config设置能让原生JSON Viewer支持属性名不带引号的非标准JSON。这是因为Firefox的JSON解析器严格遵循ECMAScript标准,只识别符合规范的JSON结构——而不带引号的属性名实际上属于JavaScript对象字面量,并非标准JSON范畴。

不过你可以通过以下两种实用方法绕过这个限制:

方法一:用用户脚本预处理响应

你可以借助Tampermonkey这类用户脚本管理器,编写一个脚本拦截服务器返回的非标准JSON内容,自动给属性名补上引号,再交给浏览器处理。

举个适配简单场景的脚本示例(复杂嵌套结构可能需要更严谨的解析逻辑,你可以根据实际返回内容调整):

// ==UserScript==
// @name         Fix Unquoted JSON for Firefox Viewer
// @match        *://your-target-domain.com/*  // 替换成你的目标域名,或用*匹配所有站点
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    // 拦截XMLHttpRequest请求
    const originalXHR = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function(method, url) {
        this.addEventListener('load', function() {
            try {
                JSON.parse(this.responseText);
            } catch (e) {
                // 给无引号的属性名添加引号(简单正则匹配)
                const fixedJSON = this.responseText.replace(/(\w+):/g, '"$1":');
                Object.defineProperty(this, 'responseText', { value: fixedJSON });
            }
        });
        originalXHR.apply(this, arguments);
    };

    // 拦截fetch请求
    const originalFetch = fetch;
    window.fetch = async function(resource, options) {
        const response = await originalFetch(resource, options);
        if (response.headers.get('content-type')?.includes('json')) {
            const text = await response.text();
            try {
                JSON.parse(text);
                return response;
            } catch (e) {
                const fixedJSON = text.replace(/(\w+):/g, '"$1":');
                // 构造新的响应对象返回
                return new Response(fixedJSON, {
                    status: response.status,
                    statusText: response.statusText,
                    headers: response.headers
                });
            }
        }
        return response;
    };
})();

安装步骤:

  • 先在Firefox附加组件商店安装Tampermonkey扩展
  • 点击Tampermonkey图标,选择「创建新脚本」
  • 替换默认代码为上面的脚本,修改@match规则匹配你的目标网站
  • 保存后刷新页面,Firefox的JSON Viewer就能识别处理后的标准JSON了

方法二:使用第三方JSON查看扩展

市面上有不少第三方扩展支持宽松的JSON解析,比如JSON Viewer Pro、JSON Formatter & Validator等。这些扩展可以替代Firefox的原生Viewer,自动识别并格式化带无引号属性的非标准JSON内容。你只需要在Firefox附加组件商店搜索安装即可,这类工具基本都能满足你的需求。

需要注意的是,宽松解析可能会存在少量歧义风险,但针对你对接的特定服务器返回内容,完全可以正常使用。

内容的提问来源于stack exchange,提问作者eidylon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:37:46