将大型 JSON 文件拆分为多个文件


Splitting a Large JSON File Into Multiple Files

我有一个基于大约1000页(分页)数据的大型JSON文件。我想将大约 100 个 JSON 文件拆分为单独的文件,并根据页面将它们分开。将大型 JSON 文件拆分为多个文件的最佳方法是什么?谢谢!

如果您的 JSON 格式如下:

[
  {page: 1},
  ...
]

然后,您可以使用控制台编辑器(如awk/sed)csplit工具。

像这样:

cat 1.json
arth@arth-MIT:~$ cat 1.json
[
 {page: 1},
 {page: 2},
 {page: 3},
 {page: 4},
 {page: 5},
 {page: 6},
 {page: 7},
 {page: 8},
 {page: 9},
 {page:10},
 {page:11},
 {page:12},
 {page:13},
 {page:14},
 {page:15},
 {page:16},
 {page:17},
 {page:18},
]
arth@arth-MIT:~$ rm xx* ; SIZE=$((10+1)) ; cat 1.json | awk "ORS=NR%$SIZE?RS:'"'n], 'n['n'"" | csplit - $(($SIZE+2))
126
100
arth@arth-MIT:~$ cat xx00
[
 {page: 1},
 {page: 2},
 {page: 3},
 {page: 4},
 {page: 5},
 {page: 6},
 {page: 7},
 {page: 8},
 {page: 9},
 {page:10},
],