0%

快速将 json文件转换为 ndjson文件

摘要:使用 npm 的工具包 json-to-ndjson 可以很简单地将 json 文件转换为 ndjson 文件

二者区别

ndjson 全称为「Newline Delimited JSON」;如其名称所标明,ndjson 格式文件的本质就是 json 对象的集合,其每一行都是一个有效的 json 对象。这样,既能充分利用 json 格式的广泛支持和简明语法,又能便于与 Unix 风格的文本处理工具相结合,非常适合存储一条一行、需要频繁追加新内容的日志文件。

形式举例:

1
2
3
4
// demo.ndjson
{"picpath":null,"xzqh":"110105","lawofficeid":"10953112"}
{"picpath":null,"xzqh":"110105","lawofficeid":"10909703"}
{"picpath":null,"xzqh":"110106","lawofficeid":"588813"}

对比而言,普通 json 文件:

1
2
3
4
5
6
//demo.json
[
{ "picpath": null, "xzqh": "110105", "lawofficeid": "10953112" },
{ "picpath": null, "xzqh": "110105", "lawofficeid": "10909703" },
{ "picpath": null, "xzqh": "110106", "lawofficeid": "588813" }
]

转化方法

使用 npm 的一个工具包 json-to-ndjson 可以很简单地将 json 文件转换为 ndjson 文件。

step1、安装 json-to-ndjson,前提是已经安装好了 Node.js, 使用 Node.js 的包管理工具 npm

1
sudo npm install -g json-to-ndjson

step2、从待转换的 json 文件中读取输入流, 使用管道流入 json-to-ndjson, 再重定向输出指定的 ndjson 文件名。如下所示:

1
cat books-base.json | json-to-ndjson > books.json

这样, 就将 book-base.json 转变为了对应的 ndjson文件保存在 books.json

应用场景

1、MongoDB 数据库 GUI 工具,支持使用 ndjson 格式文件快速将数据导入;