UltKit

TXT转JSON转换器

为纯文本文件加上结构。当每行都包含相同的字段,并以制表符、竖线、逗号或空格分隔时,转换器会把这些行变成JSON记录,代码无需自定义解析器即可读取。

数据转换器

或将CSV, TSV, TXT … 文件拖放到此处 ·

单个文件最大 95 MB· 最多 20 个文件· 30 分钟后删除

输出

文件在我们的服务器上处理,并在 30 分钟后删除。

使用方法

  1. 1

    上传文本文件

    添加 .txt 导出文件、以制表符分隔的数据,或每行一条记录的列表。最多 20 个文件,每个不超过 95 MB。

  2. 2

    指定行的分隔方式

    分隔符默认为“自动检测”。在高级设置中,如果已知分隔方式,可选择制表符、竖线或空格;旧文件可设置文本编码;如果第 1 行是数据,请关闭首行为表头。

  3. 3

    转换为JSON

    点击转换为 JSON 并下载文件。默认带缩进便于阅读,关闭格式化输出后则为紧凑格式。

答案

如何把 TXT 文件转换为 JSON?

上传 .txt 文件,保持分隔符为“自动检测”,并保持首行为表头开启,然后点击转换为 JSON。每一行会变成一个对象,第 1 行中的词会成为键名。

哪些文本文件能顺利转换为JSON

.txt 扩展名只说明文件里是字符,并不保证有任何结构。转换效果好的文件,往往是“暗地里的表格”。从 Excel 或 Google Sheets 复制单元格时,剪贴板中是以制表符分隔的文本,粘贴到记事本并保存,得到的就是这类文件。银行、工资系统和老式 ERP 会导出以竖线分隔的 .txt 报表,科学仪器也常写出以空格或制表符分隔的读数。

散文无法转换,中途改变行格式的文档也不行。如果文件其实是逗号分隔的,而你需要的是电子表格而不是代码,用 TXT 转 CSV 更直接。自 Windows 10 1903 版起,记事本默认以 UTF-8 保存新文件,所以较新的文件通常不用更改编码;来自旧电脑的文件则往往需要。

按分隔符类型将文本转换为JSON

最宽容的情况。值中很少出现制表符,所以带逗号的姓名和带空格的地址都会保留在同一个字段中。

  • 从电子表格复制到剪贴板的内容
  • 许多数据库客户端的导出文件

生成的JSON是什么样子

输入行 sku|color|stock 和 TS-104|navy|38 转换为 JSON
[
  {
    "sku": "TS-104",
    "color": "navy",
    "stock": 38
  }
]
种分隔符,另有自动检测
5
种源文本编码
8
个文本文件(每批)
20
后删除已上传文件
30 分钟

纯文本与JSON对比

TXT

纯文本

TXT 文件只包含纯字符,没有格式、字体、图片或版面。现代文本文件通常采用 UTF-8 编码,可涵盖所有语言,而较旧的文件可能使用其他编码,从而显示乱码。纯文本体积极小,永不过时,从手机到服务器的所有设备都能打开。它无法保存粗体、表格或图片,结构只能靠间距或简单标记来表达。

压缩方式
–
透明度
–
动画
–
发布年份
–
TXT 转换器

JSON

JavaScript 对象表示法

JSON 是一种轻量级结构化数据文本格式,由 Douglas Crockford 在 21 世纪初推广,并被标准化为 RFC 8259 和 ECMA-404。它用简单易读的语法表示对象、数组、字符串、数字、布尔值和 null。它是网络 API、配置文件以及几乎所有编程语言之间数据交换的默认格式。它没有内置注释、日期或模式,嵌套很深的大文件没有查看器就很难阅读。

压缩方式
–
透明度
–
动画
–
发布年份
2001 · Douglas Crockford
JSON 转换器

当旧程序导出的文本或从报表中复制出来的内容需要用于现代代码、API 请求体或 NoSQL 导入,而又没人愿意为一个文件手写解析器时,就需要把 TXT 转换为 JSON。

TXT转JSON常见问题

我的文本文件每行一项,能转成JSON数组吗?

可以。如果顶部有 name 这样的表头行,后面每一行都会变成类似 {"name": "Lisbon"} 的对象。如果没有表头,请关闭首行为表头并选择“数组的数组”,每一行会写成只含一项的列表。

为什么“自动检测”在每个空格处都拆开了我的句子?

如果文件中没有制表符、竖线或逗号,就只剩空格可以作为分隔符。请把分隔符设置为字段实际使用的字符;如果值本身含有空格,自由文本需要在字段之间使用制表符或竖线才能正确转换。

可以把日志文件转换为JSON吗?

如果每一行格式一致,例如时间戳、级别和消息用竖线或制表符分隔,就可以。如果消息本身含有分隔符,或各行格式不统一,就需要使用日志解析工具,而不是表格转换器。

旧系统导出的TXT文件应该选择哪种编码?

在 UTF-8 普及之前,西文 Windows 软件生成的文件通常是 Windows-1252;日文文件多为 Shift_JIS,中文文件多为 GB18030,韩文文件多为 EUC-KR。请选择源文件的编码,这样带重音的字母才能被正确读取。生成的 JSON 本身使用 UTF-8,这也是 RFC 8259 对系统间交换的 JSON 所要求的编码。

列用空格对齐的定宽文本怎么办?

转换器按分隔符拆分,而不是按字符位置拆分。如果值中从不含空格,可以使用“空格”设置。否则,请先在电子表格中打开文件,用“分列”功能拆分,保存为工作簿,再使用 Excel 转 JSON。

得到的是JSON还是JSON Lines?

标准 JSON:一个文档,顶层是单个数组,任何 JSON 解析器都能一次性加载。JSON Lines 每行一条记录,适合流式处理,但本页不会生成这种格式。