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.0
  • github.​com
  • github.​com
  • 1 month ago
  • 1 hour ago
  • 8 years ago

Installs

  • Total 720K
  • Win 294K
  • Mac 308K
  • Linux 117K
May 31 May 30 May 29 May 28 May 27 May 26 May 25 May 24 May 23 May 22 May 21 May 20 May 19 May 18 May 17 May 16 May 15 May 14 May 13 May 12 May 11 May 10 May 9 May 8 May 7 May 6 May 5 May 4 May 3 May 2 May 1 Apr 30 Apr 29 Apr 28 Apr 27 Apr 26 Apr 25 Apr 24 Apr 23 Apr 22 Apr 21 Apr 20 Apr 19 Apr 18 Apr 17 Apr 16
Windows 23 94 222 265 288 271 207 119 103 240 281 251 266 229 141 100 219 336 286 301 265 110 170 255 256 305 235 240 114 121 190 288 313 293 294 187 128 264 320 363 359 370 147 130 238 284
Mac 20 110 267 337 328 320 237 115 110 224 301 347 312 318 95 116 299 336 364 355 345 119 151 273 364 369 305 292 141 123 218 351 394 405 387 199 140 352 407 457 446 412 146 129 262 291
Linux 5 43 74 77 81 83 74 45 41 75 91 95 92 86 43 26 72 92 126 102 91 47 43 97 87 102 81 94 48 47 52 93 103 90 110 55 48 93 107 112 111 119 48 42 86 86

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