JSON 扁平化为 JSONL

提取并扁平化嵌套的 JSON 对象和数组为 JSONL (JSON Lines) 格式。每条记录成为单独的一行。100% 客户端处理。

输入 JSON

拖拽 .json 文件到此处,或点击浏览

支持 .json, .txt

如何将 JSON 扁平化为 JSONL

将 JSON 扁平化为 JSONL 会从嵌套结构中提取记录,并将每条记录转换为单独的 JSONL 行。如果您的 JSON 包含对象数组,每个数组元素都会成为一行。嵌套对象键会扁平化为点符号。

我们的工具完全在您的浏览器中运行。不会将任何数据发送到服务器。粘贴嵌套 JSON 或拖入文件,扁平化的 JSONL 输出即刻呈现。父级字段会自动合并到每条记录中。

输出为有效的 JSONL,每行一个紧凑的 JSON 对象。您可以将结果复制到剪贴板或下载为 .jsonl 文件,可直接用于机器学习、数据管道或数据库导入。

什么是 JSON 扁平化?

JSON 扁平化是将深层嵌套的 JSON 结构转换为扁平的逐行格式的过程。嵌套对象键转换为点符号(例如 address.city),对象数组被展开,使每个元素成为 JSONL 格式中的独立记录。

当您有复杂嵌套的 API 响应或数据库导出,需要将它们转换为扁平的表格格式以用于机器学习训练、CSV 转换或期望每行一条记录的流式数据管道时,这特别有用。

常见用例

API 响应处理

将嵌套的 API 响应扁平化为 JSONL,便于在数据管道中解析、记录和下游处理。

ETL 数据转换

从复杂的 JSON 导出中提取记录并扁平化为 JSONL,以加载到数据库或数据仓库。

ML 数据集准备

将嵌套的 JSON 数据集转换为 OpenAI、Hugging Face 和其他 ML 训练平台所需的扁平 JSONL 记录。

日志和分析处理

将带有嵌套元数据的结构化日志文件扁平化为 JSONL,以便使用 grep、jq 或 Elasticsearch 等工具进行分析。

测试数据生成

将复杂的 JSON API 模拟响应扁平化为独立的 JSONL 记录,作为自动化测试套件的测试夹具使用。

数据库迁移

将 MongoDB 或 CouchDB 导出的嵌套文档式 JSON 扁平化为平面 JSONL 记录,以便导入 PostgreSQL 等关系型数据库。

常见错误与解决方案

未找到可扁平化的记录

当输入的 JSON 是原始值(字符串、数字)或空对象/数组时,会出现此错误。工具需要对象或对象数组才能提取记录。请确保您的 JSON 至少包含一个带有键值对的对象。

点符号键名冲突

如果您的 JSON 在顶层有一个键 "user.name",同时又有嵌套的 {"user":{"name":"value"}'},两者扁平化后会得到相同的点符号键名。嵌套的值会覆盖顶层的值。请在扁平化之前重命名冲突的键。

JSON 中的循环引用

虽然标准 JSON 不会包含循环引用,但某些 JSON 生成器可能产生非常深的嵌套结构。工具可以处理合理深度的嵌套,但当结构超过安全限制时会停止扁平化。

常见问题

这个 JSON 扁平化工具有什么作用?

嵌套对象键转换为点符号。例如,{"user":{"address":{"city":"NYC"}'}'} 变成 {"user.address.city":"NYC"}。这使深层嵌套的数据可以作为扁平的键值对访问。

可以将深层嵌套的 JSON 扁平化为 JSONL 吗?

如果 JSON 包含对象数组,每个对象都会成为单独的 JSONL 行。原始值数组(字符串、数字)在扁平化输出中序列化为 JSON 字符串。工具会自动检测要展开的主数组。

这个工具会上传我的 JSON 文件吗?

是的。所有扁平化都在您的浏览器本地进行。不会将任何数据发送到服务器。您的 JSON 内容永远不会离开您的设备。

如何选择要扁平化的数组?

可以。工具可以处理任何级别的嵌套。顶层标量字段会合并到每条记录中,嵌套对象使用点符号,最大的对象数组会展开为单独的 JSONL 行。

标量(非对象)数组元素会怎样处理?

null 值在扁平化输出中保持为 null。JSON 没有 undefined 类型,所以不会遇到 undefined 值。空对象会扁平化为空(不生成任何键),空数组则序列化为空 JSON 数组。

如何将结果转回 JSON?

目前工具每次处理一个 JSON 输入。如需处理多个文件,请逐一操作。对于批量操作,可以配合 jq 等命令行工具使用,再用本工具进行可视化验证。

可以扁平化包含混合数组和对象的 JSON 吗?

工具支持实际 JSON 数据中常见的嵌套深度(通常 20 层以上)。没有硬编码的深度限制,但极深的嵌套可能会在输出中产生非常长的点符号键名。

这个工具能处理的最大文件大小是多少?

JSON 转 JSONL 只是将顶层数组的每个元素放到单独的一行。JSON 扁平化为 JSONL 则更进一步:展开嵌套结构、将嵌套键转换为点符号、并将父级字段合并到每条记录中。当您需要从深层嵌套的 JSON 中提取记录时,请使用扁平化工具。

JSON to JSONL converter/JSONL to CSV converter/JSONL to Excel converter/JSONL validator/process large JSONL files
JSON 扁平化为 JSONL — 从嵌套 JSON 提取记录 | jsonl.co