Minify JSON files blazing fast, removing comments/whitespace.
npm install @aminya/minijsonMinify JSON files blazing fast, removing comments/whitespace.
Uses D, C, and AVX2 and SSE4_1 SIMD. 4180 times faster than jsonminify!

- Npm (Nodejs)
``shell`
npm install @aminya/minijson
- Dub (D)
`shell`
git submodule update --init --recursive
dub build --config=library --build=release-nobounds --compiler=ldc2or
dub build --config=executable --build=release-nobounds --compiler=ldc2
- Download Native Binaries from
https://github.com/aminya/minijson/releases/latest
`shellMinify the specified files
minijson ./dist/*/.json ./build/a.json
`shell
> minijson --helpUsage: minijson [--files FILES ...] [--comment] [--str STR ...] [--file FILE ...] [-h]
minijson: minify json files with support for comments
Optional arguments:
--files FILES ...
--comment
--str STR ...
--file FILE ...
-h, --help Show this help message and exit
`$3
`js
import { minifyFiles, minifyString } from "minijson"// minify the files in-place and in parallel
await minifyFiles(["file1.json", "file2.json"])
// supports comments by passing true as the second argument
await minifyFiles(["file1_with_comment.json", "file2_with_comment.json"], true)
// minify the given string
const minifiedString = minifyString(
{"some_json": "here"})// supports comments by passing true as the second argument
const minifiedString2 = minifyString(
{"some_json": "here"}//comment, true)
`Note: in the Nodejs API, prefer
minifyFiles over other functions, as it minifies the files in parallel with the least amount of resources.$3
`js
import minijson: minifyString, minifyFiles;// minify the given string
const minifiedString = minifyString(
{"some_json": "here"});// supports comments by passing true as the second argument
const minifiedString2 = minifyString(
{"some_json": "here"}//comment, true);// minify the files in-place and in parallel
minifyFiles(["file1.json", "file2.json"]);
// supports comments by passing true as the second argument
minifyFiles(["file1.json", "file2.json"], true);
`$3
On AMD Ryzen 7 4800H:
- minifyString: minijson is 4178 times faster than jsonMinify
- minifyFiles: minijson is 1894 times faster than jsonMinify.
`
❯ .\dist\minijson-benchmark.exe --benchmark-minifyString --benchmark-minifyFiles
Benchmark minifyString
14 ms
Benchmark minifyFiles
31 ms❯ node .\benchmark\js-benchmark.mjs
Benchmark minifyString
58.502 seconds
Benchmark minifyFiles
58.703 seconds
`$3
You would need to install the ldc compiler for the D programming language
`
curl -fsS https://dlang.org/install.sh | bash -s ldc
`After installation, it will print a message about activating it. Something like
source activate_ldc.sh.After running the activation command, clone the repository:
`
git clone --recurse-submodules https://github.com/aminya/minijson
cd minijson
`Then build with:
`
pnpm install
pnpm build.node
``The project is licensed under MIT. It was inspired by fkei/JSON.minify.