Javascript is required

大 JSON 查看器与叶子路径搜索

打开本地文件或粘贴 JSON。Worker 可用时,在后台解析完整输入并建立叶子索引;页面最多展示 300 条匹配结果。

四组可重复的查看案例

载入案例后,核对实时结果与完整预期叶子列表或解析失败。小型案例不衡量大文件性能。

嵌套 API 响应:路径、0 与 false

五个叶子包含数组元素、数字 0、false 和 null。载入后搜索 ABC 或路径片段,缩小匹配列表。

输入

{
  "order": { "id": 7, "items": [{ "sku": "ABC", "qty": 0 }] },
  "ok": false,
  "note": null
}

预期叶子列表或错误

$.order.id → 7 (number)
$.order.items[0].sku → ABC (string)
$.order.items[0].qty → 0 (number)
$.ok → false (boolean)
$.note → null (null)

路径仅供文本展示。对象和数组会被遍历,但没有可展开的父节点行。

受限 TS 风格数组 → 三个叶子

带类型标注、未加引号键、单引号和尾随逗号的静态导出数组可转换为数据,不检查接口类型。

输入

export const users: User[] = [
  { id: 1, name: 'Ada', active: true, },
];

预期叶子列表或错误

$[0].id → 1 (number)
$[0].name → Ada (string)
$[0].active → true (boolean)

不支持函数、变量引用或通用 JavaScript 程序;这是有限转换,不是执行代码。

截断响应 → 可见解析错误

最外层对象缺少右大括号。查看器清除旧数据,显示解析错误并禁用复制和下载。

输入

{"order":{"id":7}

预期叶子列表或错误

解析失败,无叶子行或可导出结果。

解析器不会修复此输入。具体诊断文字由浏览器解析器提供。

null 根 → 一个可导出叶子

null 根是有效 JSON。列表在根位置展示一个 null 叶子,复制或下载得到 null。

输入

null

预期叶子列表或错误

$ → null (null)

有效状态与真假值分别判断;空对象和空数组则产生零个叶子。

解析完整数据,控制结果列表的展示数量

当前展示叶子路径、值和类型的平面列表。搜索对路径和值的文本做不区分大小写的子串匹配;不展开树节点,也不执行 JSONPath 表达式。

四组小型可重复案例覆盖嵌套 API 数据、受限 TS 风格数组、截断输入和 null 根。500 条记录示例用于核对展示上限,不是浏览器性能基准测试。

使用边界与限制条件

  • Worker 解析和建索引仍有内存成本:输入文本、解析对象与完整叶子索引都会保留,结果还会复制回主线程。搜索、文件读取与 JSON 导出仍可能影响响应,不承诺固定 MB 上限或速度。
  • 列表最多显示 300 条匹配结果,没有可展开节点或虚拟滚动。空对象和空数组没有叶子;带点号或方括号的键可能产生含义不唯一的展示路径,搜索仅匹配文本,不是 JSONPath 查询引擎。
  • 受限字面量转换不执行粘贴代码,也不检查 TypeScript 类型。仅接受部分类似 JavaScript 的静态语法,仍可能拒绝有效数据;例如进入宽松转换时,部分含撇号的双引号字符串会失败。可靠交换数据请用标准 JSON。
  • 数字遵循 JSON.parse 和 JavaScript 数值精度,大整数标识符可能改变。复制和下载输出的是解析后的数据,不保留原始格式、注释或源码。
  • Worker 不可用时,解析和索引在主线程执行,并显示模式标签。Worker 启动或运行错误会显示并清除旧结果。本地处理不代表已经验证生产隐私或所有浏览器兼容性。

常见问题与技术解答 (FAQ)

Worker 能保证大 JSON 不会让页面卡顿吗?▼

不能。Worker 可用时,解析和建索引在后台线程完成,但结果传输、响应式状态、搜索和导出仍消耗主线程与浏览器内存。页面耗时覆盖解析加索引,不是完整文件读取或界面响应时间。

可以展开节点或运行 JSONPath 查询吗?▼

当前是叶子平面列表。搜索忽略大小写并去除首尾空格,匹配路径或值的文本,不解释路径表达式;特殊属性名可能产生含义不唯一的展示路径。

null、false、0 与空容器怎样展示?▼

null、false、0 和空字符串等基本类型根是有效结果,展示一个叶子并可导出。空数组和空对象没有叶子行,但仍是有效且可导出的结果。

下载是不是只导出前 300 条结果?▼

不是。300 条仅限制匹配结果的展示;复制和下载会序列化完整解析数据,因此可能额外消耗内存。无效输入会清除旧结果,在再次成功解析前禁用导出。