zh

Avro 转 JSON

在本地把 Apache Avro 文件(.avro)转换为可读的 JSON,内嵌的 schema 一并读取,无需上传。

正在你的设备上本地处理 ...

正在你的设备上本地处理 ...

0%

我的文件会被上传吗?

不会。一切都在你的浏览器中运行,你的文件永不离开你的设备。这一点如何验证

无需上传100% 本地处理
内容只属于你第三方无法访问
Hosted in GermanyGlobal Content Delivery
经独立审计TLS A+ · 标头 A+

Apache Avro 是源自大数据领域(Kafka、Hadoop、数据管道)的一种紧凑二进制数据格式。一个 .avro 对象容器文件(OCF)把记录和它们的 schema(以 JSON 表示)一起打包进文件头部,因此文件完全自描述。二进制形式节省空间,但在文本编辑器里无法阅读。本工具读取该容器及其内嵌 schema,并把每条记录都转成清晰、可读的 JSON。

一切都完全在你的浏览器里本地运行(纯 JavaScript,无需上传,离线也能用,不依赖任何第三方库)。工具读取 OCF 头部,解析内嵌的 Avro schema,并据此解码每条记录,包括记录、数组、map、union、枚举和原始类型。支持 null 和 deflate 两种块压缩编码;较少见的 snappy 编码会被诚实地拒绝。bytes 和 fixed 字段会转为 base64,超出 JavaScript 安全整数范围的 64 位整数则以字符串输出,从而不丢失任何精度。

当某条数据管道、某个 Kafka 主题导出或某项分析任务生成了一个 .avro 文件,而你想查看它、把它喂给一个支持 JSON 的工具,或者只是想读懂它时,就会用到这个工具。JSON 是通用且人类可读的。注意:这是单向查看(Avro 转 JSON),不会反向序列化回 Avro,而逻辑类型(date、timestamp、decimal)会以其底层基础值的形式出现。

技术规格

技术规格
输入格式AVRO
输出格式JSON
批量处理支持
处理方式在浏览器中本地处理 (JavaScript)
文件上传

三步完成

  1. 拖入或轻点你的 Avro 文件(.avro)。
  2. 工具会从容器中读取 schema 和记录。
  3. 下载 JSON(多个文件可打包为 ZIP)。

限制: 支持编码为 null 或 deflate 的 Avro 对象容器文件;snappy 编码会以清晰的错误信息被拒绝。bytes/fixed 显示为 base64,较大的 64 位整数显示为字符串(保证精度),union 显示为对应分支的值,逻辑类型显示为其基础值。转换是单向的(不能从 JSON 反转回 Avro)。schema 从文件头部读取;不带 OCF 容器的裸单条 Avro 记录不受支持。记录、数组和映射会按1:1转换为嵌套的JSON对象和数组,因此模式的嵌套结构得以保留;其余字段(数字、文本、布尔值)仍保持原生JSON类型。

常见问题

Avro 文件是什么?

一种源自大数据领域(Kafka、Hadoop)的紧凑、自描述二进制数据格式。schema 随文件头部一起携带。

我的文件会被上传吗?

不会。转换完全在浏览器中本地完成,离线也可以。

支持哪些编码(codec)?

支持 null 和 deflate 两种块压缩编码。较少见的 snappy 编码会以清晰的提示被拒绝,而不会被错误解码。

大数字和字节会被正确保留吗?

超出 JavaScript 安全范围的 64 位整数会输出为字符串;bytes 和 fixed 字段输出为 base64。

我能把 JSON 转换回 Avro 吗?

不能,本工具是单向的(Avro 转 JSON),用于查看和复用数据。

相关工具

JSON 转 XML · CSV 转 JSON · YAML 转 JSON · Parquet 转 JSON · Arrow 转 JSON · XML 转 TOML · FHIR JSON 与 XML 互转