Minifying JSON with Ruby

I've written about pretty-printing JSON in the past, but not about minifying it. Sometimes you don't want an overly verbose format, i.e. when entering logs, or where you're restrained on file-sizes.

Let's say that we have a nicely pretty-printed JSON file, such as:

{
    "key": [
        123,
        456
    ],
    "key2": "value"
}

If we want to minify the JSON, we can use the following:

$ ruby -rjson -e 'puts JSON.parse(ARGF.read).to_json' file.json
$ ruby -rjson -e 'puts JSON.parse(ARGF.read).to_json' < file.json

This then outputs it as the minified JSON string representation of the object above!

{"key":[123,456],"key2":"value"}

Written by Jamie Tanna's profile image Jamie Tanna on , and last updated on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

Tags

This post was filed under articles.

This post is part of the series nablopomo-2019.

Related Posts

Other posts you may be interested in:

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.