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
  • 8 months ago
  • 2 hours ago
  • 9 years ago

Installs

  • Total 830K
  • Win 341K
  • Mac 356K
  • Linux 133K
Apr 12 Apr 11 Apr 10 Apr 9 Apr 8 Apr 7 Apr 6 Apr 5 Apr 4 Apr 3 Apr 2 Apr 1 Mar 31 Mar 30 Mar 29 Mar 28 Mar 27 Mar 26 Mar 25 Mar 24 Mar 23 Mar 22 Mar 21 Mar 20 Mar 19 Mar 18 Mar 17 Mar 16 Mar 15 Mar 14 Mar 13 Mar 12 Mar 11 Mar 10 Mar 9 Mar 8 Mar 7 Mar 6 Mar 5 Mar 4 Mar 3 Mar 2 Mar 1 Feb 28 Feb 27 Feb 26
Windows 204 94 99 217 238 261 243 144 86 69 178 229 260 245 257 98 85 214 266 268 238 252 95 114 222 252 269 260 257 91 77 252 260 253 276 243 92 87 237 263 254 249 221 87 94 233
Mac 190 86 91 260 301 321 314 184 75 71 239 288 305 281 304 91 75 257 328 340 342 276 73 84 247 324 322 344 309 102 109 281 330 369 321 234 87 100 260 311 313 305 250 90 91 233
Linux 56 32 29 81 73 80 75 61 31 36 54 66 91 79 74 26 25 71 75 72 72 63 34 27 63 81 74 76 67 39 28 63 76 73 98 82 35 32 59 77 81 81 78 35 29 56

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