ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Pretty JSON

by dzhibas ALL Top 100

Prettify/Minify/Query/Goto/Validate/Lint JSON plugin for Sublime Text 2 & 3

Details

  • 1.0.5
    1.0.2
  • github.​com
  • github.​com
  • 2 months ago
  • 1 hour ago
  • 9 years ago

Installs

  • Total 774K
  • Win 317K
  • Mac 332K
  • Linux 125K
Oct 30 Oct 29 Oct 28 Oct 27 Oct 26 Oct 25 Oct 24 Oct 23 Oct 22 Oct 21 Oct 20 Oct 19 Oct 18 Oct 17 Oct 16 Oct 15 Oct 14 Oct 13 Oct 12 Oct 11 Oct 10 Oct 9 Oct 8 Oct 7 Oct 6 Oct 5 Oct 4 Oct 3 Oct 2 Oct 1 Sep 30 Sep 29 Sep 28 Sep 27 Sep 26 Sep 25 Sep 24 Sep 23 Sep 22 Sep 21 Sep 20 Sep 19 Sep 18 Sep 17 Sep 16 Sep 15
Windows 221 272 264 255 241 88 93 233 252 279 233 216 85 90 214 254 247 266 236 98 111 201 197 188 184 186 75 67 187 153 247 253 238 147 81 242 225 247 251 267 88 85 234 255 245 267
Mac 246 278 322 310 256 73 87 223 269 295 312 292 74 71 253 276 295 257 269 72 103 240 238 230 227 213 64 75 196 211 247 324 258 132 71 269 294 279 288 254 64 80 220 285 303 278
Linux 72 75 88 87 73 31 27 63 92 72 90 71 29 44 61 68 74 89 68 28 35 65 73 84 72 68 29 33 66 67 63 86 80 32 39 80 87 74 83 67 40 30 65 85 65 77

Readme

Source
raw.​githubusercontent.​com

Pretty Json Tests

Prettify/Minify/Query/Goto/Validate/Lint JSON plugin for Sublime Text 3 & 4

Installation

Package Control (Recommended)

Install this sublime text ¾ package via Package Control search for package: “Pretty JSON

Manual Installation

Sublime Text 4

  • cd <Packages directory> (MacOS: ~/Library/Application\ Support/Sublime\ Text/Packages)
  • git clone https://github.com/dzhibas/SublimePrettyJson.git "Pretty JSON"

Sublime Text 3

  • cd <Packages directory> (MacOS: ~/Library/Application\ Support/Sublime\ Text\ 3/Packages)
  • git clone https://github.com/dzhibas/SublimePrettyJson.git "Pretty JSON"
  • cd Pretty JSON
  • git checkout st3

Sublime Text 2 No longer supported

Usage

To prettify JSON, make selection of json (or else it will try to use full view buffer) and press keys:

  • Linux: ctrl+alt+j
  • Windows: ctrl+alt+j
  • OS X: cmd+ctrl+j

or through Command Palette Ctrl+Shift+P find “Pretty JSON: Format JSON” (you can search for part of it like 'pretty format')

If selection is empty and configuration entry use_entire_file_if_no_selection is true, tries to prettify whole file

If JSON is not valid it will be displayed in status bar of Sublime Text

Validate JSON

Using Command Palette Ctrl+Shift+P find “Pretty JSON: Validate” (you can search for partial string 'validate') this will validate selection or full file and will show in dialog if it's valid or invalid. In case of found errors view will jump to error and will highlight it

Compress / Minify JSON

Using Command Palette Ctrl+Shift+P find “Pretty JSON: Minify JSON” (you can search for part of it like 'json minify') this will make selection or full buffer as single line JSON which later you can use in command lines (curl/httpie) or somewhere else…

To map a key combination like Ctrl+Alt+M to the Minify command, you can add a setting like this to your .sublime-keymap file (eg: Packages/User/Default (Windows).sublime-keymap):

{ "keys": [ "ctrl+alt+m" ], "command": "un_pretty_json" }

Convert JSON to XML

Using Command Palette Ctrl+Shift+P search for “Pretty JSON: json2xml” (you can search for part of it like '2XML') this will convert your selected JSON of full buffer to XML and replace syntax and buffer to XML output

./jQ query/filter usage

Demo:

Demo

If on your machine “./jq” tool is available with ctrl+atl+shift+j you can run against your json. output will be opened in new view so you can once again apply jq on new buffer

You can find instructions of tool here:

http://stedolan.github.io/jq/

Default configuration

  • use_entire_file_if_no_selection

    • Default: true
  • indent

    • Default: 2
    • Integer represents amount of spaces
    • \t will utilize a tab character
  • sort_keys

    • Default: false
  • ensure_ascii

    • Default: false
  • line_separator

    • “,”
  • value_separator

    • “: ”
    • Value separator in config, so if you need to get rid of extra space you can remove it with this param
  • keep_arrays_single_line

    • Default: false
    • If we need to re-structure arrays and make them single-line
  • max_arrays_line_length

    • Default: 120
    • If array for example '[“a”, “b”, 123213, ….]' length will reach max it will be kept multi-line
  • pretty_on_save

    • Default: false
    • Do we need to automatically Pretty JSON on save
  • validate_on_save

    • Default: true
    • Do we need validate JSON files on each save
  • reindent_block

    • Default: false
    • If we are formatting a selection, if we need to reindent the resulting block to follow the flow of the source document the posible values are 'minimal' and 'start'

    using minimal, the resulting json lines are indented as much spaces as the line where the selection starts. e.g

    yaml_container:
      yaml_key: { "json": "value" }
    

    gets formatted as:

    yaml_container:
        yaml_key: {
          "json": "value"
        }
    

    using start, the resulting json lines are indented a number of spaces equal to the column number of the start of the selection

    with start the previous example gets formatted as:

    yaml_container:
        yaml_key: {
                    "json": "value"
                  }
    

Using tabs for indentation

You can change configuration key indent to string value "\t" or any other string

"indent" : "\t",

Be sure "Indent Using Spaces" is unchecked otherwise you will not see effect and ST3/4 will convert it back to spaces

Contributors

Others

If you YAMLing then maybe you interested in this plugin: PrettyYAML