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

Pretty JSON

by dzhibas ALL Top 25

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

Details

  • 1.3.3
    1.0.5
  • github.​com
  • github.​com
  • 10 months ago
  • 3 hours ago
  • 13 years ago

Installs

  • Total 1.28M
  • Win 527K
  • Mac 570K
  • Linux 188K
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 31 141 194 194 171 168 65 86 153 174 166 194 159 51 65 148 192 186 190 158 31 50 128 140 183 153 101 48 44 91 77 162 150 164 90 53 154 163 161 164 133 49 51 139 174 202
Mac 36 202 263 270 280 217 67 74 204 266 259 279 234 69 66 216 251 287 284 245 51 46 212 237 236 260 178 63 57 155 161 213 250 240 110 58 219 266 269 282 202 56 66 194 242 233
Linux 6 28 30 40 45 34 9 12 39 43 50 53 52 16 15 53 54 45 58 46 12 11 33 45 47 40 41 22 26 30 20 40 37 40 18 22 45 39 33 43 27 12 12 26 36 44
0100200300400500May 31May 28May 25May 22May 19May 16May 13May 10May 7May 4May 1Apr 28Apr 25Apr 22Apr 19Apr 16May 31 Linux: 6 Mac: 36 Windows: 31May 30 Linux: 28 Mac: 202 Windows: 141May 29 Linux: 30 Mac: 263 Windows: 194May 28 Linux: 40 Mac: 270 Windows: 194May 27 Linux: 45 Mac: 280 Windows: 171May 26 Linux: 34 Mac: 217 Windows: 168May 25 Linux: 9 Mac: 67 Windows: 65May 24 Linux: 12 Mac: 74 Windows: 86May 23 Linux: 39 Mac: 204 Windows: 153May 22 Linux: 43 Mac: 266 Windows: 174May 21 Linux: 50 Mac: 259 Windows: 166May 20 Linux: 53 Mac: 279 Windows: 194May 19 Linux: 52 Mac: 234 Windows: 159May 18 Linux: 16 Mac: 69 Windows: 51May 17 Linux: 15 Mac: 66 Windows: 65May 16 Linux: 53 Mac: 216 Windows: 148May 15 Linux: 54 Mac: 251 Windows: 192May 14 Linux: 45 Mac: 287 Windows: 186May 13 Linux: 58 Mac: 284 Windows: 190May 12 Linux: 46 Mac: 245 Windows: 158May 11 Linux: 12 Mac: 51 Windows: 31May 10 Linux: 11 Mac: 46 Windows: 50May 9 Linux: 33 Mac: 212 Windows: 128May 8 Linux: 45 Mac: 237 Windows: 140May 7 Linux: 47 Mac: 236 Windows: 183May 6 Linux: 40 Mac: 260 Windows: 153May 5 Linux: 41 Mac: 178 Windows: 101May 4 Linux: 22 Mac: 63 Windows: 48May 3 Linux: 26 Mac: 57 Windows: 44May 2 Linux: 30 Mac: 155 Windows: 91May 1 Linux: 20 Mac: 161 Windows: 77Apr 30 Linux: 40 Mac: 213 Windows: 162Apr 29 Linux: 37 Mac: 250 Windows: 150Apr 28 Linux: 40 Mac: 240 Windows: 164Apr 27 Linux: 18 Mac: 110 Windows: 90Apr 26 Linux: 22 Mac: 58 Windows: 53Apr 25 Linux: 45 Mac: 219 Windows: 154Apr 24 Linux: 39 Mac: 266 Windows: 163Apr 23 Linux: 33 Mac: 269 Windows: 161Apr 22 Linux: 43 Mac: 282 Windows: 164Apr 21 Linux: 27 Mac: 202 Windows: 133Apr 20 Linux: 12 Mac: 56 Windows: 49Apr 19 Linux: 12 Mac: 66 Windows: 51Apr 18 Linux: 26 Mac: 194 Windows: 139Apr 17 Linux: 36 Mac: 242 Windows: 174Apr 16 Linux: 44 Mac: 233 Windows: 202May 31 Linux: 6 Mac: 36 Windows: 31May 30 Linux: 28 Mac: 202 Windows: 141May 29 Linux: 30 Mac: 263 Windows: 194May 28 Linux: 40 Mac: 270 Windows: 194May 27 Linux: 45 Mac: 280 Windows: 171May 26 Linux: 34 Mac: 217 Windows: 168May 25 Linux: 9 Mac: 67 Windows: 65May 24 Linux: 12 Mac: 74 Windows: 86May 23 Linux: 39 Mac: 204 Windows: 153May 22 Linux: 43 Mac: 266 Windows: 174May 21 Linux: 50 Mac: 259 Windows: 166May 20 Linux: 53 Mac: 279 Windows: 194May 19 Linux: 52 Mac: 234 Windows: 159May 18 Linux: 16 Mac: 69 Windows: 51May 17 Linux: 15 Mac: 66 Windows: 65May 16 Linux: 53 Mac: 216 Windows: 148May 15 Linux: 54 Mac: 251 Windows: 192May 14 Linux: 45 Mac: 287 Windows: 186May 13 Linux: 58 Mac: 284 Windows: 190May 12 Linux: 46 Mac: 245 Windows: 158May 11 Linux: 12 Mac: 51 Windows: 31May 10 Linux: 11 Mac: 46 Windows: 50May 9 Linux: 33 Mac: 212 Windows: 128May 8 Linux: 45 Mac: 237 Windows: 140May 7 Linux: 47 Mac: 236 Windows: 183May 6 Linux: 40 Mac: 260 Windows: 153May 5 Linux: 41 Mac: 178 Windows: 101May 4 Linux: 22 Mac: 63 Windows: 48May 3 Linux: 26 Mac: 57 Windows: 44May 2 Linux: 30 Mac: 155 Windows: 91May 1 Linux: 20 Mac: 161 Windows: 77Apr 30 Linux: 40 Mac: 213 Windows: 162Apr 29 Linux: 37 Mac: 250 Windows: 150Apr 28 Linux: 40 Mac: 240 Windows: 164Apr 27 Linux: 18 Mac: 110 Windows: 90Apr 26 Linux: 22 Mac: 58 Windows: 53Apr 25 Linux: 45 Mac: 219 Windows: 154Apr 24 Linux: 39 Mac: 266 Windows: 163Apr 23 Linux: 33 Mac: 269 Windows: 161Apr 22 Linux: 43 Mac: 282 Windows: 164Apr 21 Linux: 27 Mac: 202 Windows: 133Apr 20 Linux: 12 Mac: 56 Windows: 49Apr 19 Linux: 12 Mac: 66 Windows: 51Apr 18 Linux: 26 Mac: 194 Windows: 139Apr 17 Linux: 36 Mac: 242 Windows: 174Apr 16 Linux: 44 Mac: 233 Windows: 202May 31 Linux: 6 Mac: 36 Windows: 31May 30 Linux: 28 Mac: 202 Windows: 141May 29 Linux: 30 Mac: 263 Windows: 194May 28 Linux: 40 Mac: 270 Windows: 194May 27 Linux: 45 Mac: 280 Windows: 171May 26 Linux: 34 Mac: 217 Windows: 168May 25 Linux: 9 Mac: 67 Windows: 65May 24 Linux: 12 Mac: 74 Windows: 86May 23 Linux: 39 Mac: 204 Windows: 153May 22 Linux: 43 Mac: 266 Windows: 174May 21 Linux: 50 Mac: 259 Windows: 166May 20 Linux: 53 Mac: 279 Windows: 194May 19 Linux: 52 Mac: 234 Windows: 159May 18 Linux: 16 Mac: 69 Windows: 51May 17 Linux: 15 Mac: 66 Windows: 65May 16 Linux: 53 Mac: 216 Windows: 148May 15 Linux: 54 Mac: 251 Windows: 192May 14 Linux: 45 Mac: 287 Windows: 186May 13 Linux: 58 Mac: 284 Windows: 190May 12 Linux: 46 Mac: 245 Windows: 158May 11 Linux: 12 Mac: 51 Windows: 31May 10 Linux: 11 Mac: 46 Windows: 50May 9 Linux: 33 Mac: 212 Windows: 128May 8 Linux: 45 Mac: 237 Windows: 140May 7 Linux: 47 Mac: 236 Windows: 183May 6 Linux: 40 Mac: 260 Windows: 153May 5 Linux: 41 Mac: 178 Windows: 101May 4 Linux: 22 Mac: 63 Windows: 48May 3 Linux: 26 Mac: 57 Windows: 44May 2 Linux: 30 Mac: 155 Windows: 91May 1 Linux: 20 Mac: 161 Windows: 77Apr 30 Linux: 40 Mac: 213 Windows: 162Apr 29 Linux: 37 Mac: 250 Windows: 150Apr 28 Linux: 40 Mac: 240 Windows: 164Apr 27 Linux: 18 Mac: 110 Windows: 90Apr 26 Linux: 22 Mac: 58 Windows: 53Apr 25 Linux: 45 Mac: 219 Windows: 154Apr 24 Linux: 39 Mac: 266 Windows: 163Apr 23 Linux: 33 Mac: 269 Windows: 161Apr 22 Linux: 43 Mac: 282 Windows: 164Apr 21 Linux: 27 Mac: 202 Windows: 133Apr 20 Linux: 12 Mac: 56 Windows: 49Apr 19 Linux: 12 Mac: 66 Windows: 51Apr 18 Linux: 26 Mac: 194 Windows: 139Apr 17 Linux: 36 Mac: 242 Windows: 174Apr 16 Linux: 44 Mac: 233 Windows: 202

Readme

Source
raw.​githubusercontent.​com

Pretty Json Tests

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

Updates

All keybindings have been removed in favor of the Command Palette. And to allow for users to configure their own specific key bindings.

This also prevents key binding overrides which conflict with other packages. For good documentation on key bindings I recommend you review the Offical Docs or Community Docs

Installation

Package Control (Recommended)

Install this sublime text 3 / 4 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 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" }

List of commands that can be mapped to shortcuts

  • pretty_json
  • un_pretty_json
  • pretty_json_goto_symbol

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:

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/

Configuration

Check all the available configuration keys and their default values by using the Command Palette Ctrl+Shift+P and searching for Preferences: Pretty JSON Settings. From there you can also configure your own values.

Here's a run down of the existing parameters, their meaning, and how you can configure each of them:

  • use_entire_file_if_no_selection: boolean that indicates whether the entire file should be used when there is no text selected.
  • indent: integer that represents the number of spaces to be used. To use tab indentation, use \t instead.
  • sort_keys: boolean that indicates whether the JSON keys should be sorted alphabetically.
  • ensure_ascii: boolean that indicaes whether it should validate that all characters are ASCII characters.
  • line_separator: string that represents the separator that will be used between lines. Usually this shouldn't be modified, to make sure the resulting JSON is valid.
  • value_separator: string that represents the separator that will be used between JSON keys and values. If you need to get rid of extra space after the collon, you can configure that using this parameter.
  • keep_arrays_single_line: boolean that indicates whether we need to re-structure arrays and make them single-line.
  • max_arrays_line_length: integer that determines the max length of single-line values. When the line exceeds this max length, it will be formatted in a multi-line fashion.
  • pretty_on_save: boolean that indicates whether JSON files should be automatically prettified on each file save.
  • validate_on_save: boolean that indicates whether JSON files should be automatically validated on each file save.
  • brace_newline: boolean that indicates whether there should be a newline after braces.
  • bracket_newline: boolean that indicates whether there should be a newline after brackets. true here means the resulting JSON will look like the Allman indentation style, while false will result in an OTBS indentation style.
  • reindent_block: 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 theline 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"
                  }
    

    Use false if you wouldn't like the formatter to reindent the block at all.

  • jq_binary: path to the jq binary, e.g. /usr/bin/local/jq.

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