JSON 数据大小计算

粘贴 JSON 文本,先用 JSON.parse 解析,再递归遍历统计数据的规模与结构:紧凑序列化后的 UTF-8 字节数、字符数、键数量、数组与对象数量、最大嵌套深度,以及 string / number / boolean / null / array / object 各类型节点数。所有统计均在浏览器本地完成。

输入 JSON 等待输入

仅支持标准 JSON;不支持注释、尾随逗号、单引号等非标准写法。

统计结果
字节数 (UTF-8)—
键数量—
最大深度—
字符数—
输入 JSON 并点击「统计大小」,结果将显示在这里。

字节数按紧凑序列化的 UTF-8 编码长度计算,深度从根节点计为 1。

统计规则
  • 先 JSON.parse 得到值,解析失败直接提示错误,不输出统计。
  • 字节数:对 JSON.stringify(value) 的紧凑序列化结果做 UTF-8 编码,取编码后的字节数(优先 TextEncoder,不可用时用等价实现)。
  • 字符数:取同一紧凑序列化结果的 String.length(UTF-16 代码单元数)。
  • 键数量:统计所有对象的自有可枚举属性总数。
  • 数组数量 / 对象数量:分别统计数组中出现的数组节点与对象节点数量。
  • 最大嵌套深度:根节点计为 1,每深入一层加 1,叶子节点也计入深度。
  • 各类型节点数:分别统计 string / number / boolean / null / array / object 节点出现的次数;数字不区分整数与浮点。
  • 全部处理在浏览器本地完成,不发起任何网络请求。