JSON Pretty Print: āļ§āļīāļāļĩāļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļ JSON āđāļŦāđāļāđāļēāļāļāđāļēāļĒ
JSON Pretty Printing āļāļ·āļāļāļ°āđāļĢ?
JSON pretty printing āđāļāđāļāļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļģāļāđāļāļĄāļđāļĨ JSON āļāļīāļāļāļĩāđāļāļ°āļāļąāļāļĢāļąāļ (āļĒāđāļāļāļāļēāļ/minified) āđāļĨāļ°āļāļąāļāļĢāļđāļāđāļāļāđāļŦāļĄāđāļāđāļ§āļĒāļāļēāļĢāļĒāđāļāļŦāļāđāļē āļāļēāļĢāļāļķāđāļāļāļĢāļĢāļāļąāļāđāļŦāļĄāđ āđāļĨāļ°āļāļēāļĢāđāļ§āđāļāļ§āļĢāļĢāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāđāļāļ·āđāļāđāļŦāđāļĄāļāļļāļĐāļĒāđāļāđāļēāļāđāļāđ āđāļāļāļŠāļēāļĢ JSON āļāļĩāđāļāđāļēāļāļāļēāļĢ pretty print āđāļāđāļāļēāļĢāļĒāđāļāļŦāļāđāļēāļāļĩāđāļŠāļāļāļāļĨāđāļāļāļāļąāļāđāļĨāļ°āļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļāđāļāļĢāļāļŠāļĢāđāļēāļāļāļĩāđāļāļąāļāđāļāļāļāļķāđāļāđāļāļĒāđāļŦāđāđāļŦāđāļāļĨāļģāļāļąāļāļāļąāđāļāļāļāļ object āđāļĨāļ° array āļāļĩāđāļāđāļāļāļāļąāļ
āđāļāļĢāļĩāļĒāļāđāļāļĩāļĒāļāļāļēāļĢāđāļŠāļāļāļāļĨāļŠāļāļāđāļāļāļāļāļāļāđāļāļĄāļđāļĨāđāļāļĩāļĒāļ§āļāļąāļ:
āđāļāļāļĒāđāļāļāļāļēāļ (āļāđāļēāļāļĒāļēāļ):
{"users":[{"id":1,"name":"Alice","roles":["admin","editor"]},{"id":2,"name":"Bob","roles":["viewer"]}],"total":2}
āđāļāļ Pretty Printed (āļāđāļēāļāļāđāļēāļĒ):
{
"users": [
{
"id": 1,
"name": "Alice",
"roles": ["admin", "editor"]
},
{
"id": 2,
"name": "Bob",
"roles": ["viewer"]
}
],
"total": 2
}
Pretty Print āđāļāļĩāļĒāļāļāļąāļ JSON āđāļāļāļĒāđāļāļāļāļēāļ
āļāļēāļĢāđāļĨāļ·āļāļāļĢāļ°āļŦāļ§āđāļēāļ JSON āđāļāļ pretty-printed āđāļĨāļ°āđāļāļāļĒāđāļāļāļāļēāļāļāļķāđāļāļāļĒāļđāđāļāļąāļāļāļĢāļāļĩāļāļēāļĢāđāļāđāļāļēāļ:
| Aspect | Pretty Print | Minified | |--------|-------------|----------| | āļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāđāļēāļ | āļŠāļđāļ -- āđāļāļĢāļāļŠāļĢāđāļēāļāļāļąāļāđāļāļ | āļāđāļģ -- āļāđāļāļĄāļđāļĨāļāļąāđāļāļŦāļĄāļāđāļāļāļĢāļĢāļāļąāļāđāļāļĩāļĒāļ§ | | āļāļāļēāļāđāļāļĨāđ | āđāļŦāļāđāļāļ§āđāļē (āļĄāļĩ whitespace āļĄāļēāļāļāļ§āđāļē) | āđāļĨāđāļāļāļ§āđāļē (āđāļĄāđāļĄāļĩāļāđāļēāđāļāđāļāđāļēāļĒ whitespace) | | āļāļēāļĢāļāđāļēāļĒāđāļāļāļāđāļēāļāđāļāļĢāļ·āļāļāđāļēāļĒ | āļāđāļēāļāļ§āđāļēāļŠāļģāļŦāļĢāļąāļ payload āļāļāļēāļāđāļŦāļāđ | āđāļĢāđāļ§āļāļķāđāļ āđāļāļāļāđāļ§āļīāļāļāđāļāđāļāļĒāļĨāļ | | āļāļēāļĢāļāļĩāļāļąāļ | āđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļąāļāļāļē | āđāļĄāđāđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļ | | āļāļēāļĢāđāļāđāļāļēāļāđāļāļāļēāļĢāļāļĨāļīāļ | āđāļĄāđāļāđāļāļĒāđāļāđ | āļĄāļēāļāļĢāļāļēāļāļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļāļāļāļĨāļąāļ API |
API āđāļāļāļēāļĢāļāļĨāļīāļāļĄāļąāļāđāļŦāđāļāļĢāļīāļāļēāļĢ JSON āđāļāļāļĒāđāļāļāļāļēāļāđāļāļ·āđāļāļĨāļāđāļāļāļāđāļ§āļīāļāļāđ āđāļāļāļāļ°āļāļĩāđāļāļąāļāļāļąāļāļāļēāđāļāđ pretty-print JSON āļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļāļąāļāļāļēāđāļĨāļ°āļāļēāļĢāļāļĩāļāļąāļ
āļĢāļđāļāđāļāļāļāļēāļĢāļĒāđāļāļŦāļāđāļē
āđāļāļĢāļ·āđāļāļāļĄāļ·āļāļāļąāļāļĢāļđāļāđāļāļāļŠāđāļ§āļāđāļŦāļāđāļĢāļāļāļĢāļąāļāļĢāļđāļāđāļāļāļāļēāļĢāļĒāđāļāļŦāļāđāļēāļŠāļāļāđāļāļāļāļąāđāļ§āđāļ:
āļāļēāļĢāļĒāđāļāļŦāļāđāļē 2 āļāđāļāļāļ§āđāļēāļ (āļāļāļĄāļēāļāļāļĩāđāļŠāļļāļ)
{
"name": "Alice",
"age": 30,
"address": {
"city": "New York"
}
}
āđāļāļ°āļāļģāļŠāļģāļŦāļĢāļąāļ: āđāļāļĢāļāļāļēāļĢ JavaScript/TypeScript, āļāļēāļĢāļāļąāļāļāļēāđāļ§āđāļāļŠāļĄāļąāļĒāđāļŦāļĄāđ āđāļĨāļ°āļāļēāļĢāđāļāđāļāļēāļāļāļąāđāļ§āđāļāļŠāđāļ§āļāđāļŦāļāđ
āļāļēāļĢāļĒāđāļāļŦāļāđāļē 4 āļāđāļāļāļ§āđāļēāļ
{
"name": "Alice",
"age": 30,
"address": {
"city": "New York"
}
}
āđāļāļ°āļāļģāļŠāļģāļŦāļĢāļąāļ: āđāļāļĢāļāļāļēāļĢ Python (āļŠāđāļāļĨāđ PEP 8) āđāļĨāļ°āļāļĩāļĄāļāļĩāđāļāļāļāļāļēāļĢāļĒāđāļāļŦāļāđāļēāļāļĩāđāļāļ§āđāļēāļāļāļķāđāļāđāļāļ·āđāļāļāļ§āļēāļĄāļāļąāļāđāļāļ
āļāļēāļĢāļĒāđāļāļŦāļāđāļēāļāđāļ§āļĒāđāļāđāļ
āļāļąāļāļāļąāļāļāļēāļāļēāļāļāļāļāļāļāļāļēāļĢāļĒāđāļāļŦāļāđāļēāļāđāļ§āļĒāđāļāđāļ āđāļāļĒāđāļāļāļēāļ°āđāļāđāļ§āļīāļĢāđāļāđāļāļĨāļ§āđāļāļĩāđāđāļāđāļāļāļēāļĢāđāļāđāļēāļāļķāļāļāļĩāđāļāļđāđāđāļāđāļāļĢāļąāļāļāļ§āļēāļĄāļāļ§āđāļēāļāļāļāļāđāļāđāļāđāļ editor āļāļāļāļāļ
āļāļēāļĢāđāļĨāļ·āļāļāļāļēāļĢāļĒāđāļāļŦāļāđāļēāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄ
āļāļĩāļĄāļŠāđāļ§āļāđāļŦāļāđāđāļāđāļĄāļēāļāļĢāļāļēāļ 2 āļāđāļāļāļ§āđāļēāļ āđāļāļĢāļēāļ°āļŠāļĢāđāļēāļāļŠāļĄāļāļļāļĨāļĢāļ°āļŦāļ§āđāļēāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāđāļēāļāđāļĨāļ°āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāļāđāļēāļāļāļ·āđāļāļāļĩāđāđāļāļ§āļāļāļ āļĢāļ°āļāļāļāļīāđāļ§āļĻ JavaScript (Node.js, React, Vue) āđāļāđāļāļēāļĢāļĒāđāļāļŦāļāđāļē 2 āļāđāļāļāļ§āđāļēāļāļāļĒāđāļēāļāļāđāļ§āļĄāļāđāļ āļŦāļēāļāļāļļāļāļāļģāļāļēāļāđāļāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄāļāļĩāđāļĄāļĩ Python āļĄāļēāļ āļāļēāļĢāļĒāđāļāļŦāļāđāļē 4 āļāđāļāļāļ§āđāļēāļāļāļēāļāļĢāļđāđāļŠāļķāļāđāļāđāļāļāļĢāļĢāļĄāļāļēāļāļīāļĄāļēāļāļāļ§āđāļē āļāļļāļāđāļāļŠāļģāļāļąāļāļāļ·āļāļāļ§āļēāļĄāļŠāļāļāļāļĨāđāļāļ -- āđāļĨāļ·āļāļāļŦāļāļķāđāļāļŠāđāļāļĨāđāđāļĨāļ°āļāļąāļāļāļąāļāđāļāđāļāļąāđāļ§āļāļąāđāļāđāļāļĢāļāļāļēāļĢāļāļāļāļāļļāļāļāđāļ§āļĒāđāļāļĢāļ·āđāļāļāļĄāļ·āļāđāļāđāļ Prettier āļŦāļĢāļ·āļ EditorConfig
JSON Pretty Print āđāļāļ āļēāļĐāļēāđāļāļĢāđāļāļĢāļĄāļĄāļīāđāļāļāđāļēāļāđ
JavaScript / Node.js
const formatted = JSON.stringify(data, null, 2);
console.log(formatted);
Python
import json
formatted = json.dumps(data, indent=2)
print(formatted)
Java
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper mapper = new ObjectMapper();
String formatted = mapper.writerWithDefaultPrettyPrinter()
.writeValueAsString(data);
Go
import "encoding/json"
formatted, _ := json.MarshalIndent(data, "", " ")
fmt.Println(string(formatted))
Ruby
require 'json'
puts JSON.pretty_generate(data)
āļ§āļīāļāļĩāļāļēāļĢ Pretty Print JSON
āđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļ JSON Formatter āļāļāļāđāļĨāļāđ
āļ§āļīāļāļĩāļāļĩāđāđāļĢāđāļ§āļāļĩāđāļŠāļļāļāļāļ·āļāđāļāđ āđāļāļĢāļ·āđāļāļāļĄāļ·āļ JSON formatter āļāļāļāđāļĨāļāđāļāļĢāļĩ -- āļ§āļēāļ JSON āļāļāļāļāļļāļāđāļĨāļ°āļĢāļąāļāļāļĨāļĨāļąāļāļāđāļāļĩāđāļāļąāļāļĢāļđāļāđāļāļāļāļąāļāļāļĩāļāļĢāđāļāļĄāļāļēāļĢāđāļāđāļāđāļ§āļĒāļēāļāļĢāļāđāđāļĨāļ°āļāļēāļĢāļāļĢāļ§āļāļāļąāļāļāđāļāļāļīāļāļāļĨāļēāļ
āđāļāđāđāļāļĢāļ·āđāļāļāļĄāļ·āļ Command Line
āļāđāļ§āļĒ jq (āđāļāđāļāļāļĩāđāļāļīāļĒāļĄāļāļĩāđāļŠāļļāļ):
cat file.json | jq .
āļāđāļ§āļĒ Python:
python -m json.tool file.json
āļāđāļ§āļĒ Node.js:
node -e "const d = require('./file.json'); console.log(JSON.stringify(d, null, 2));"
Browser Developer Tools
āđāļāļĢāļēāļ§āđāđāļāļāļĢāđāļŦāļĨāļąāļāļāļąāđāļāļŦāļĄāļāļāļąāļāļĢāļđāļāđāļāļāļāļēāļĢāļāļāļāļāļĨāļąāļ JSON āđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīāđāļāđāļāđāļ Network:
- Chrome DevTools: āđāļāđāļ Network pretty-prints āļāļēāļĢāļāļāļāļāļĨāļąāļ JSON āđāļāļĒāļāļąāļāđāļāļĄāļąāļāļī
- Firefox Developer Tools: āļāļēāļĢāļāļāļāļāļĨāļąāļ JSON āđāļŠāļāļāļāđāļ§āļĒ tree views āļāļĩāđāļĒāļļāļāđāļāđ
- Safari Web Inspector: āļāļēāļĢāđāļŠāļāļāļāļąāļ§āļāļĒāđāļēāļ JSON āļĢāļ§āļĄāļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļāļāļąāļāđāļāļĄāļąāļāļī
āļāļĨāļąāđāļāļāļīāļ IDE āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļ JSON
VS Code
VS Code āļĄāļĩāļāļēāļĢāļĢāļāļāļĢāļąāļ JSON āđāļāļāļąāļ§āļāļĩāđāļĒāļāļāđāļĒāļĩāđāļĒāļĄ āđāļāđ Shift+Alt+F (Windows/Linux) āļŦāļĢāļ·āļ Shift+Option+F (macOS) āđāļāļ·āđāļāļāļąāļāļĢāļđāļāđāļāļāđāļāļĨāđ JSON āđāļāđ āļŠāđāļ§āļāļāļĒāļēāļĒāđāļāļīāđāļĄāđāļāļīāļĄāļāđāļ§āļĒāđāļāļīāđāļĄāļāļĢāļ°āļŠāļāļāļēāļĢāļāđ:
- Prettier -- āļāļąāļāļĢāļđāļāđāļāļ JSON, JSONC āđāļĨāļ°āļ āļēāļĐāļēāļāļ·āđāļāđ āļāļĩāļāļĄāļēāļāļĄāļēāļĒāļāļĒāđāļēāļāļŠāļāļāļāļĨāđāļāļāļāļąāļ
- JSON Tools -- āđāļĢāļĩāļĒāļāļĨāļģāļāļąāļ āļĒāđāļāļāļāļēāļ āđāļĨāļ°āļāļąāļāļĢāļđāļāđāļāļ JSON āļāđāļ§āļĒāļāļļāđāļĄāļĨāļąāļ
- JavaScript Booster -- āļāļļāļāļŠāļĄāļāļąāļāļīāļāļēāļĢāļāļąāļāļāļēāļĢ JSON āļāļąāđāļāļŠāļđāļ
JetBrains IDEs (IntelliJ, WebStorm, PyCharm)
- āļāļąāļ§āļāļąāļāļĢāļđāļāđāļāļāđāļāļāļąāļ§:
Ctrl+Alt+L(Windows/Linux) āļŦāļĢāļ·āļCmd+Option+L(macOS) - āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāđāļĨāļ°āļāļąāļāļĢāļđāļāđāļāļ JSON āļāļąāļāđāļāļĄāļąāļāļīāđāļĄāļ·āđāļāļ§āļēāļ
Vim / Neovim
" Format JSON in place
:%!jq .
āļāļąāļ§āđāļĨāļ·āļāļāļāļēāļĢāļāļąāļāļĢāļđāļāđāļāļ JSON āļāļąāđāļāļŠāļđāļ
āđāļāļĢāļ·āđāļāļāļĄāļ·āļ JSON formatter āļŠāļĄāļąāļĒāđāļŦāļĄāđāļĄāļĩāļĄāļēāļāļāļ§āđāļēāļāļēāļĢāļĒāđāļāļŦāļāđāļēāļāļ·āđāļāļāļēāļ:
- āļāļēāļĢāđāļĢāļĩāļĒāļāļĨāļģāļāļąāļāļāļĩāļĒāđ -- āđāļĢāļĩāļĒāļāļĨāļģāļāļąāļāļāļĩāļĒāđ object āļāļēāļĄāļāļąāļ§āļāļąāļāļĐāļĢāđāļāļ·āđāļāļāļĨāļĨāļąāļāļāđāļāļĩāđāļŠāļāļāļāļĨāđāļāļāļāļąāļ
- āļāļēāļĢāđāļāđāļāđāļ§āļĒāļēāļāļĢāļāđ -- āļāļĩāļĒāđ āļŠāļāļĢāļīāļ āļāļąāļ§āđāļĨāļ āđāļĨāļ° boolean āļāļĩāđāļĄāļĩāļĢāļŦāļąāļŠāļŠāļĩ
- tree views āļāļĩāđāļĒāļļāļāđāļāđ -- āļāļĒāļēāļĒāđāļĨāļ°āļĒāļļāļāđāļāļĢāļāļŠāļĢāđāļēāļāļāļĩāđāļāđāļāļāļāļąāļāđāļāļ·āđāļāļāļēāļĢāļāļģāļāļēāļāļāļĩāđāļāđāļēāļĒāļāļķāđāļ
- āļŦāļĄāļēāļĒāđāļĨāļāļāļĢāļĢāļāļąāļ -- āļāđāļēāļāļāļīāļāļāļģāđāļŦāļāđāļāđāļāļāļēāļ°āļĢāļ°āļŦāļ§āđāļēāļāļāļēāļĢāļāļĩāļāļąāļ
- āļāļēāļĢāđāļāđāļāļāđāļāļāļīāļāļāļĨāļēāļ -- āļāļģāđāļāļĢāļ·āđāļāļāļŦāļĄāļēāļĒāļāđāļāļāļīāļāļāļĨāļēāļāļāļēāļāđāļ§āļĒāļēāļāļĢāļāđāļāđāļ§āļĒāļŠāļēāļĒāļāļēāļāļĢāđāļāļĄāļāđāļāļāļ§āļēāļĄāđāļāļĒāļĨāļ°āđāļāļĩāļĒāļ
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļāļŠāļģāļŦāļĢāļąāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāđāļēāļ JSON
- āļāļĢāļ§āļāļŠāļāļāļāđāļāļāļāļąāļāļĢāļđāļāđāļāļāđāļŠāļĄāļ -- āļāļąāļ§āļāļąāļāļĢāļđāļāđāļāļāđāļĄāđāļŠāļēāļĄāļēāļĢāļāđāļāđāđāļ JSON āļāļĩāđāđāļĄāđāļāļđāļāļāđāļāļāđāļāđ āđāļāđ JSON validator āļāđāļāļāđāļāļ·āđāļāļāļĢāļ§āļāļāļąāļāļāđāļāļāļīāļāļāļĨāļēāļāļāļēāļāđāļ§āļĒāļēāļāļĢāļāđ
- āļāļģāļŦāļāļāļĄāļēāļāļĢāļāļēāļāļāļāļāļāļĩāļĄ -- āļāļāļĨāļāđāļĢāļ·āđāļāļāļāļēāļĢāļĒāđāļāļŦāļāđāļē (2 āļāđāļāļāļ§āđāļēāļāđāļāđāļāļĄāļēāļāļĢāļāļēāļāļāļļāļāļŠāļēāļŦāļāļĢāļĢāļĄ) āđāļĨāļ°āļāļąāļāļāļąāļāđāļāđāļāđāļ§āļĒ Prettier āļŦāļĢāļ·āļ linter
- āļĢāļąāļāļĐāļēāļāļēāļĢāļāđāļāļāđāļŦāđāļāļ·āđāļ -- JSON āļāļĩāđāļāđāļāļāļĨāļķāļ (4+ āļĢāļ°āļāļąāļ) āļāđāļēāļāļĒāļēāļāđāļĄāđāļ§āđāļēāļāļ°āļāļąāļāļĢāļđāļāđāļāļāļāļĒāđāļēāļāđāļĢ āļāļīāļāļēāļĢāļāļēāļāļĢāļąāļāđāļāļĢāļāļŠāļĢāđāļēāļāđāļĄāļ·āđāļāđāļāđāļāđāļāđāļāđ
- āđāļāđāļāļĩāļĒāđāļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļŦāļĄāļēāļĒ -- āļāļ·āđāļāļāļĩāļĒāđāļāļĩāđāļāļāļīāļāļēāļĒāđāļĨāļ°āļāļĢāļ°āļāļąāļāļāļĢāļąāļāļāļĢāļļāļāļāļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļēāļĢāļāđāļēāļāļĄāļēāļāļāļ§āđāļēāļāļąāļ§āļāļąāļāļĢāļđāļāđāļāļāđāļāđ
- āđāļāļīāđāļĄāļāļēāļĢāļāļķāđāļāļāļĢāļĢāļāļąāļāđāļŦāļĄāđāļāđāļāļāđāļēāļĒ -- āļāļāđāļāļĨāđ JSON āļāđāļ§āļĒāļāļąāļāļāļĢāļ°āļāļķāđāļāļāļĢāļĢāļāļąāļāđāļŦāļĄāđāđāļāļ·āđāļāļāļāļīāļāļąāļāļīāļāļēāļĄāļĄāļēāļāļĢāļāļēāļ POSIX āđāļĨāļ°āļŦāļĨāļĩāļāđāļĨāļĩāđāļĒāļ diff noise
āļĨāļāļāđāļāđ āđāļāļĢāļ·āđāļāļāļĄāļ·āļ JSON pretty print āļāļāļāđāļĨāļāđāļāļĢāļĩ āđāļāļ·āđāļāļāļąāļāļĢāļđāļāđāļāļāđāļĨāļ° beautify āļāđāļāļĄāļđāļĨ JSON āļāļāļāļāļļāļāļāļąāļāļāļĩāļāđāļ§āļĒāļāļēāļĢāļĒāđāļāļŦāļāđāļēāđāļĨāļ°āļāļēāļĢāđāļāđāļāđāļ§āļĒāļēāļāļĢāļāđāļāļĩāđāļāļĢāļąāļāđāļāđāļāđāļāđ