JS library for producing JSON in canonical format
npm install @stratumn/canonicaljsonJS library for producing JSON in canonical format as specified by https://gibson042.github.io/canonicaljson-spec/. The provided interface matches that of native JSON object.



``bash`
npm install canonicaljson
or
`bash`
yarn add canonicaljson
`bash
const json = require('canonicaljson');
const obj = json.parse('{ "a": 12 }');
console.log(json.stringify(obj))
// or if you use ES6 modules
import { parse, stringify } from 'canonicaljson';
const obj = parse('{ "a": 12 }');
console.log(stringify(obj))
`
Integration tests are located in the canonicaljson-spec submodule.
To download them, you should run:
`bash`
git submodule init
git submodule update
The tests need a version of readlink that support the -v option.
Macports and homebrew provide a coreutils package containing greadlink (GNU readlink).
You can do, for instance:
`bash
brew install coreutils
The tests also need the GNU version of
awk. It is provided by homebrew:`bash
brew install gawk
`The tests will run if you change
#!/usr/bin/awk -f to #!/usr/local/bin/gawk -f in canonicaljson-spec/test/prettyjson.awk:`bash
sed -i "" s_/usr/bin/awk_/usr/local/bin/gawk_ canonicaljson-spec/test/prettyjson.awk
`This change will be ignored by
git`.