📋

āļ„āļģāļ–āļēāļĄāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļš JSON

Q: JSON formatter āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

A: JSON formatter āđ€āļ›āđ‡āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨ JSON āļ”āļīāļš āļĒāđˆāļ­āļ‚āļ™āļēāļ” āļŦāļĢāļ·āļ­āļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđ„āļĄāđˆāļ”āļĩ āđāļĨāļ°āļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđƒāļŦāļĄāđˆāļ”āđ‰āļ§āļĒāļāļēāļĢāļĒāđˆāļ­āļŦāļ™āđ‰āļē āļāļēāļĢāļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆ āđāļĨāļ°āļāļēāļĢāđ€āļ§āđ‰āļ™āļ§āļĢāļĢāļ„āļ—āļĩāđˆāđ€āļŦāļĄāļēāļ°āļŠāļĄāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰āļĄāļ™āļļāļĐāļĒāđŒāļ­āđˆāļēāļ™āđ„āļ”āđ‰ JSON formatter āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāļĒāļąāļ‡āļĄāļĩāļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ„āļ§āļēāļĄāļ–āļđāļāļ•āđ‰āļ­āļ‡ āļāļēāļĢāđ€āļ™āđ‰āļ™āđ„āļ§āļĒāļēāļāļĢāļ“āđŒ āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļšāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ” āđāļĨāļ°āļšāļēāļ‡āļ„āļĢāļąāđ‰āļ‡āļĄāļĩāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄāđ€āļŠāđˆāļ™āļāļēāļĢāđ€āļĢāļĩāļĒāļ‡āļĨāļģāļ”āļąāļšāļ„āļĩāļĒāđŒ āļāļēāļĢāļĒāđˆāļ­āļ‚āļ™āļēāļ” āđāļĨāļ°āļāļēāļĢāļ™āļģāļ—āļēāļ‡āđāļšāļš tree view āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ JSON formatter āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļŸāļĢāļĩ āļ‚āļ­āļ‡āđ€āļĢāļēāļĢāļ§āļĄāļāļēāļĢāļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđāļĨāļ°āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļ§āđ‰āđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļ”āļĩāļĒāļ§ āđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāļŠāļ°āļ­āļēāļ”āļ—āļąāļ™āļ—āļĩāļžāļĢāđ‰āļ­āļĄāļĢāļēāļĒāļ‡āļēāļ™āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ­āļĒāđˆāļēāļ‡āļĨāļ°āđ€āļ­āļĩāļĒāļ”

Q: āļ—āļģāđ„āļĄ JSON āļ‚āļ­āļ‡āļ‰āļąāļ™āļ–āļķāļ‡āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡?

A: JSON āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āđ€āļĄāļ·āđˆāļ­āļĨāļ°āđ€āļĄāļīāļ”āļāļŽāļ—āļĩāđˆāđ€āļ‚āđ‰āļĄāļ‡āļ§āļ”āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ” JSON āļŠāļēāđ€āļŦāļ•āļļāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒāļ—āļĩāđˆāļŠāļļāļ”āđ„āļ”āđ‰āđāļāđˆ:

  • āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļˆāļļāļĨāļ āļēāļ„āļ•āđˆāļ­āļ—āđ‰āļēāļĒ āļŦāļĨāļąāļ‡āļĢāļēāļĒāļāļēāļĢāļŠāļļāļ”āļ—āđ‰āļēāļĒāđƒāļ™ object āļŦāļĢāļ·āļ­ array
  • āļ‚āļēāļ”āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāļ„āļđāđˆ āļĢāļ­āļšāļ„āļĩāļĒāđŒ object āļŦāļĢāļ·āļ­āļ„āđˆāļēāļŠāļ•āļĢāļīāļ‡
  • āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāđ€āļ”āļĩāđˆāļĒāļ§ āđāļ—āļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāļ„āļđāđˆ (āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāđ€āļ”āļĩāđˆāļĒāļ§āđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡āđƒāļ™ JSON)
  • āļ­āļąāļāļ‚āļĢāļ°āļžāļīāđ€āļĻāļĐāļ—āļĩāđˆāđ„āļĄāđˆāđ„āļ”āđ‰ escape āđ€āļŠāđˆāļ™ backslash āļŦāļĢāļ·āļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāļ āļēāļĒāđƒāļ™āļŠāļ•āļĢāļīāļ‡āļ—āļĩāđˆāđ„āļĄāđˆāđ„āļ”āđ‰ escape
  • āļ„āđˆāļēāļ—āļĩāđˆāđ„āļĄāđˆāļ–āļđāļāļ•āđ‰āļ­āļ‡ āđ€āļŠāđˆāļ™ undefined, NaN āļŦāļĢāļ·āļ­ Infinity (āļ‹āļķāđˆāļ‡āđ„āļĄāđˆāļĄāļĩāđƒāļ™āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ” JSON)
  • āļ§āļ‡āđ€āļĨāđ‡āļšāļ›āļĩāļāļāļēāļŦāļĢāļ·āļ­āļ§āļ‡āđ€āļĨāđ‡āļšāđ€āļŦāļĨāļĩāđˆāļĒāļĄāđ„āļĄāđˆāļ•āļĢāļ‡āļāļąāļ™ āļ—āļĩāđˆ {/} āļŦāļĢāļ·āļ­ [/] āđ„āļĄāđˆāđ„āļ”āđ‰āļˆāļąāļšāļ„āļđāđˆāļāļąāļ™āļ­āļĒāđˆāļēāļ‡āđ€āļŦāļĄāļēāļ°āļŠāļĄ

āđƒāļŠāđ‰ JSON validator āđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āđāļĨāļ°āļĨāļąāļāļĐāļ“āļ°āļ‚āļ­āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļēāļ‡āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ—āļĩāđˆāđāļ™āđˆāļ™āļ­āļ™ validator āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāļĢāļēāļĒāļ‡āļēāļ™āļšāļĢāļĢāļ—āļąāļ” āļ„āļ­āļĨāļąāļĄāļ™āđŒ āđāļĨāļ°āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāļ­āļ˜āļīāļšāļēāļĒāļŠāļģāļŦāļĢāļąāļšāļ›āļąāļāļŦāļēāđāļĢāļāļ—āļĩāđˆāļžāļš

Q: āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡ JSON āđāļĨāļ° JavaScript object āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

A: āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆāđ„āļ§āļĒāļēāļāļĢāļ“āđŒ JSON āļĄāļēāļˆāļēāļāđ„āļ§āļĒāļēāļāļĢāļ“āđŒ JavaScript object literal āļžāļ§āļāļĄāļąāļ™āđ„āļĄāđˆāđƒāļŠāđˆāļŠāļīāđˆāļ‡āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļŠāļģāļ„āļąāļāđ„āļ”āđ‰āđāļāđˆ:

  1. āļ„āļĩāļĒāđŒāļ•āđ‰āļ­āļ‡āļ­āļĒāļđāđˆāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāļ„āļđāđˆ -- JSON āļ•āđ‰āļ­āļ‡āļāļēāļĢ {"key": "value"} āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ JavaScript āļ­āļ™āļļāļāļēāļ• {key: "value"} (āđ„āļĄāđˆāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻ) āđāļĨāļ° {'key': 'value'} (āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāđ€āļ”āļĩāđˆāļĒāļ§)
  2. āļ„āđˆāļēāļŠāļ•āļĢāļīāļ‡āļ•āđ‰āļ­āļ‡āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāļ„āļđāđˆ -- JSON āļ­āļ™āļļāļāļēāļ•āđ€āļ‰āļžāļēāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāļ„āļđāđˆāļŠāļģāļŦāļĢāļąāļšāļŠāļ•āļĢāļīāļ‡ JavaScript āļĒāļ­āļĄāļĢāļąāļšāļ—āļąāđ‰āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļāļ›āļĢāļ°āļāļēāļĻāđ€āļ”āļĩāđˆāļĒāļ§āđāļĨāļ°āļ„āļđāđˆ
  3. āđ„āļĄāđˆāļĄāļĩāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļˆāļļāļĨāļ āļēāļ„āļ•āđˆāļ­āļ—āđ‰āļēāļĒ -- JSON āļŦāđ‰āļēāļĄāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļˆāļļāļĨāļ āļēāļ„āļ•āđˆāļ­āļ—āđ‰āļēāļĒāļŦāļĨāļąāļ‡āļĢāļēāļĒāļāļēāļĢāļŠāļļāļ”āļ—āđ‰āļēāļĒ JavaScript āļ­āļ™āļļāļāļēāļ•
  4. āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļˆāļģāļāļąāļ” -- JSON āļĢāļ­āļ‡āļĢāļąāļšāđ€āļ‰āļžāļēāļ° string, number, boolean, null, object āđāļĨāļ° array JavaScript objects āļŠāļēāļĄāļēāļĢāļ–āļĄāļĩāļŸāļąāļ‡āļāđŒāļŠāļąāļ™, undefined, Date, Map, Set āđāļĨāļ°āļ›āļĢāļ°āđ€āļ āļ—āļžāļīāđ€āļĻāļĐāļ­āļ·āđˆāļ™āđ†
  5. āđ„āļĄāđˆāļĄāļĩāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ -- JSON āđ„āļĄāđˆāļĢāļ­āļ‡āļĢāļąāļšāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ JavaScript objects āđƒāļ™āļ‹āļ­āļĢāđŒāļŠāđ‚āļ„āđ‰āļ”āļŠāļēāļĄāļēāļĢāļ–āļĄāļĩāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰

āļ™āļĩāđˆāļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļēāļ„āļļāļ“āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āđ€āļ‚āļĩāļĒāļ™ JavaScript object āđāļĨāđ‰āļ§āđ€āļĢāļĩāļĒāļāļĄāļąāļ™āļ§āđˆāļē JSON āđ„āļ”āđ‰āđ€āļ‰āļĒāđ† -- āļĄāļąāļ™āļ•āđ‰āļ­āļ‡āļ–āļđāļ serialize āļ”āđ‰āļ§āļĒ JSON.stringify() āļŦāļĢāļ·āļ­āđ€āļ‚āļĩāļĒāļ™āļ•āļēāļĄāļāļŽ JSON āļ—āļĩāđˆāđ€āļ‚āđ‰āļĄāļ‡āļ§āļ”

Q: JSON āļĄāļĩāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđ„āļ”āđ‰āļŦāļĢāļ·āļ­āđ„āļĄāđˆ?

A: āđ„āļĄāđˆ āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ” JSON āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢ (RFC 8259) āđ„āļĄāđˆāļĢāļ­āļ‡āļĢāļąāļšāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ JSON āļ–āļđāļāļ­āļ­āļāđāļšāļšāđƒāļŦāđ‰āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļāļēāļĢāđāļĨāļāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ™āđ‰āļ­āļĒāļ—āļĩāđˆāļŠāļļāļ”āđāļĨāļ°āđ„āļĄāđˆāļ‚āļķāđ‰āļ™āļāļąāļšāļ āļēāļĐāļē āđāļĨāļ°āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āļ–āļđāļāļĒāļāđ€āļ§āđ‰āļ™āđ‚āļ”āļĒāđ€āļˆāļ•āļ™āļēāđ€āļžāļ·āđˆāļ­āđƒāļŦāđ‰ parser āđ€āļĢāļĩāļĒāļšāļ‡āđˆāļēāļĒāđāļĨāļ°āļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļ™āļ‚āđ‰āļēāļĄāļ āļēāļĐāļē

āļŦāļēāļāļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™ āļ„āļļāļ“āļĄāļĩāļ•āļąāļ§āđ€āļĨāļ·āļ­āļāđ„āļĄāđˆāļāļĩāđˆāļ­āļĒāđˆāļēāļ‡:

  • JSONC (JSON with Comments) -- āđƒāļŠāđ‰āđ‚āļ”āļĒ VS Code āđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļ·āđˆāļ™āđ† āļŠāļģāļŦāļĢāļąāļšāđ„āļŸāļĨāđŒāļāļģāļŦāļ™āļ”āļ„āđˆāļē JSONC āļ­āļ™āļļāļāļēāļ•āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđāļšāļšāļšāļĢāļĢāļ—āļąāļ” // āđāļĨāļ°āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđāļšāļšāļšāļĨāđ‡āļ­āļ /* */
  • YAML āļŦāļĢāļ·āļ­ TOML -- āļĢāļđāļ›āđāļšāļšāļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āđ‚āļ”āļĒāļ•āļĢāļ‡
  • āļ‚āđ‰āļ­āļĄāļđāļĨāđ€āļĄāļ•āļēāļ•āļēāļĄāđāļšāļšāđāļœāļ™ -- āđƒāļŠāđ‰āļ„āļĩāļĒāđŒāđ€āļŠāđˆāļ™ "_comment" āļŦāļĢāļ·āļ­ "//" āđƒāļ™ object JSON āļ‚āļ­āļ‡āļ„āļļāļ“āđ€āļžāļ·āđˆāļ­āđ€āļāđ‡āļšāļšāļąāļ™āļ—āļķāļāļ—āļĩāđˆāļĄāļ™āļļāļĐāļĒāđŒāļ­āđˆāļēāļ™āđ„āļ”āđ‰ āđ‚āļ›āļĢāļ”āļ—āļĢāļēāļšāļ§āđˆāļēāļŠāļīāđˆāļ‡āļ™āļĩāđ‰āđ€āļžāļīāđˆāļĄāļ‚āđ‰āļ­āļĄāļđāļĨāđƒāļŦāđ‰āļāļąāļš payload āļ‚āļ­āļ‡āļ„āļļāļ“
  • āļ•āļąāļ”āļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āļāđˆāļ­āļ™ parse -- āđƒāļŠāđ‰āļ‚āļąāđ‰āļ™āļ•āļ­āļ™āļāļēāļĢāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļĨāđˆāļ§āļ‡āļŦāļ™āđ‰āļēāđ€āļžāļ·āđˆāļ­āļĨāļšāļ„āļ§āļēāļĄāļ„āļīāļ”āđ€āļŦāđ‡āļ™āļāđˆāļ­āļ™āļŠāđˆāļ‡ JSON āđ„āļ›āļĒāļąāļ‡ parser āļ—āļĩāđˆāđ€āļ‚āđ‰āļĄāļ‡āļ§āļ”

Q: āļˆāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļš JSON āļ­āļ­āļ™āđ„āļĨāļ™āđŒāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

A: āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš JSON āļ­āļ­āļ™āđ„āļĨāļ™āđŒāļ™āļąāđ‰āļ™āļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļē:

  1. āļ„āļąāļ”āļĨāļ­āļāļ‚āđ‰āļ­āļĄāļđāļĨ JSON āļ‚āļ­āļ‡āļ„āļļāļ“
  2. āļ§āļēāļ‡āļĨāļ‡āđƒāļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļš JSON
  3. āļ„āļĨāļīāļāļ›āļļāđˆāļĄāļ•āļĢāļ§āļˆāļŠāļ­āļšāļŦāļĢāļ·āļ­āļˆāļąāļ”āļĢāļđāļ›āđāļšāļš
  4. āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļ°āļĢāļēāļĒāļ‡āļēāļ™āļ§āđˆāļē JSON āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļžāļĢāđ‰āļ­āļĄāļ•āļģāđāļŦāļ™āđˆāļ‡āđāļĨāļ°āļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļ‚āļ­āļ‡āļ›āļąāļāļŦāļēāļ—āļĩāđˆāđāļ™āđˆāļ™āļ­āļ™

āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļš JSON āļ—āļĩāđˆāļ”āļĩāļ„āļ§āļĢ:

  • āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ•āļēāļĄāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ” JSON āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āļāļēāļĢ (RFC 8259)
  • āđāļŠāļ”āļ‡āļŦāļĄāļēāļĒāđ€āļĨāļ‚āļšāļĢāļĢāļ—āļąāļ”āđāļĨāļ°āļ„āļ­āļĨāļąāļĄāļ™āđŒāļ‚āļ­āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”
  • āđƒāļŦāđ‰āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāđāļŠāļ”āļ‡āļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāļ­āļ˜āļīāļšāļēāļĒāļ§āđˆāļēāđ€āļāļīāļ”āļ­āļ°āđ„āļĢāļ‚āļķāđ‰āļ™
  • āļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđāļĨāļ° beautify JSON āđƒāļ™āđ€āļ§āļĨāļēāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ (āđ€āļ›āđ‡āļ™āļ—āļēāļ‡āđ€āļĨāļ·āļ­āļ)
  • āđ€āļ™āđ‰āļ™āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāļ”āđ‰āļ§āļĒāļĢāļŦāļąāļŠāļŠāļĩāļŠāļģāļŦāļĢāļąāļšāļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™

āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ™āļēāļ”āđƒāļŦāļāđˆāļŦāļĢāļ·āļ­āļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ­āđˆāļ­āļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ­āļ­āļ™āđ„āļĨāļ™āđŒāļˆāļģāļ™āļ§āļ™āļĄāļēāļāļ›āļĢāļ°āļĄāļ§āļĨāļœāļĨāļ—āļļāļāļ­āļĒāđˆāļēāļ‡āļ—āļēāļ‡āļāļąāđˆāļ‡āđ„āļ„āļĨāđ€āļ­āļ™āļ•āđŒāđƒāļ™āđ€āļšāļĢāļēāļ§āđŒāđ€āļ‹āļ­āļĢāđŒāļ‚āļ­āļ‡āļ„āļļāļ“ āļŦāļĄāļēāļĒāļ„āļ§āļēāļĄāļ§āđˆāļēāļ‚āđ‰āļ­āļĄāļđāļĨāļ‚āļ­āļ‡āļ„āļļāļ“āđ„āļĄāđˆāđ€āļ„āļĒāļ­āļ­āļāļˆāļēāļāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļ‚āļ­āļ‡āļ„āļļāļ“

Q: JSON āđāļšāļšāļĒāđˆāļ­āļ‚āļ™āļēāļ” (minified) āļŦāļĄāļēāļĒāļ–āļķāļ‡āļ­āļ°āđ„āļĢ?

A: JSON āđāļšāļšāļĒāđˆāļ­āļ‚āļ™āļēāļ”āļ„āļ·āļ­ JSON āļ—āļĩāđˆāļĨāļšāļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡āļ—āļĩāđˆāđ„āļĄāđˆāļˆāļģāđ€āļ›āđ‡āļ™āļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļ­āļ­āļ -- āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡ āđāļ—āđ‡āļš āļāļēāļĢāļ‚āļķāđ‰āļ™āļšāļĢāļĢāļ—āļąāļ”āđƒāļŦāļĄāđˆ āđāļĨāļ°āļāļēāļĢāļĒāđˆāļ­āļŦāļ™āđ‰āļēāļ–āļđāļāļ•āļąāļ”āļ­āļ­āļ āļœāļĨāļĨāļąāļžāļ˜āđŒāļ„āļ·āļ­āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļšāļĢāļĢāļ—āļąāļ”āđ€āļ”āļĩāļĒāļ§ (āļŦāļĢāļ·āļ­āļ™āđ‰āļ­āļĒāļĄāļēāļ) āļ—āļĩāđˆāļāļ°āļ—āļąāļ”āļĢāļąāļ”:

{"users":[{"id":1,"name":"Alice","roles":["admin"]}],"total":1}

JSON āđāļšāļšāļĒāđˆāļ­āļ‚āļ™āļēāļ”āļ–āļđāļāđƒāļŠāđ‰āđƒāļ™āļāļēāļĢāļœāļĨāļīāļ•āļ”āđ‰āļ§āļĒāđ€āļŦāļ•āļļāļœāļĨāļŦāļĨāļēāļĒāļ›āļĢāļ°āļāļēāļĢ:

  • āļ‚āļ™āļēāļ”āđ„āļŸāļĨāđŒāđ€āļĨāđ‡āļāļĨāļ‡ -- āļŠāļēāļĄāļēāļĢāļ–āļĨāļ”āļ‚āļ™āļēāļ” payload āđ„āļ”āđ‰ 30-50% āļŦāļĢāļ·āļ­āļĄāļēāļāļāļ§āđˆāļē
  • āļāļēāļĢāļ–āđˆāļēāļĒāđ‚āļ­āļ™āļœāđˆāļēāļ™āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒāđ€āļĢāđ‡āļ§āļ‚āļķāđ‰āļ™ -- āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ™āđ‰āļ­āļĒāļĨāļ‡āđƒāļ™āļāļēāļĢāļŠāđˆāļ‡āļŦāļĄāļēāļĒāļ–āļķāļ‡āļ„āļ§āļēāļĄāļŦāļ™āđˆāļ§āļ‡āļ—āļĩāđˆāļ•āđˆāļģāļĨāļ‡
  • āļĨāļ”āļ„āđˆāļēāđƒāļŠāđ‰āļˆāđˆāļēāļĒāđāļšāļ™āļ”āđŒāļ§āļīāļ”āļ—āđŒ -- āļŠāļģāļ„āļąāļāļ­āļĒāđˆāļēāļ‡āļĒāļīāđˆāļ‡āļŠāļģāļŦāļĢāļąāļš API āļ—āļĩāđˆāļĄāļĩāļāļēāļĢāđ€āļ‚āđ‰āļēāļŠāļĄāļŠāļđāļ‡āđāļĨāļ°āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™āļĄāļ·āļ­āļ–āļ·āļ­

āļ‚āđ‰āļ­āđāļĨāļāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ„āļ·āļ­ JSON āđāļšāļšāļĒāđˆāļ­āļ‚āļ™āļēāļ”āļ™āļąāđ‰āļ™āļĄāļ™āļļāļĐāļĒāđŒāļ­āđˆāļēāļ™āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļĨāļĒ āđƒāļŠāđ‰ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ JSON pretty print āđ€āļžāļ·āđˆāļ­āļˆāļąāļ”āļĢāļđāļ›āđāļšāļš JSON āđāļšāļšāļĒāđˆāļ­āļ‚āļ™āļēāļ”āļāļĨāļąāļšāđ€āļ›āđ‡āļ™āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļ—āļĩāđˆāļ­āđˆāļēāļ™āđ„āļ”āđ‰āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ”āļĩāļšāļąāļāļŦāļĢāļ·āļ­āļ•āļĢāļ§āļˆāļŠāļ­āļš

Q: āļˆāļ° pretty print JSON āđƒāļ™ command line āđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

A: āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ command line āļŦāļĨāļēāļĒāļ•āļąāļ§āļŠāļēāļĄāļēāļĢāļ– pretty print JSON āđ„āļ”āđ‰:

āļ”āđ‰āļ§āļĒ jq (āđ€āļ›āđ‡āļ™āļ—āļĩāđˆāļ™āļīāļĒāļĄāļ—āļĩāđˆāļŠāļļāļ” āļ•āļīāļ”āļ•āļąāđ‰āļ‡āđāļĒāļāļ•āđˆāļēāļ‡āļŦāļēāļ):

cat file.json | jq .

āļ”āđ‰āļ§āļĒ Python (āļĄāļĩāđƒāļ™āļ•āļąāļ§āļšāļ™āļĢāļ°āļšāļšāļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ):

python -m json.tool file.json

āļ”āđ‰āļ§āļĒ Node.js:

node -e "const d = require('./data.json'); console.log(JSON.stringify(d, null, 2));"

āļ”āđ‰āļ§āļĒ curl (pretty printing āļāļēāļĢāļ•āļ­āļšāļāļĨāļąāļšāļ‚āļ­āļ‡ API):

curl https://api.example.com/data | jq .

āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ jq āđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāđāļ™āļ°āļ™āļģāļŠāļģāļŦāļĢāļąāļšāļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāļĄāļĩāļŠāļĩ āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢ query āđāļĨāļ°āļāļēāļĢāļˆāļąāļ”āļāļēāļĢāļ‚āđ‰āļ­āļœāļīāļ”āļžāļĨāļēāļ”āļ—āļĩāđˆāđāļ‚āđ‡āļ‡āđāļāļĢāđˆāļ‡

Q: JSON Schema āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

A: JSON Schema āđ€āļ›āđ‡āļ™āļ„āļģāļĻāļąāļžāļ—āđŒāļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āđƒāļŠāđˆāļ„āļģāļ­āļ˜āļīāļšāļēāļĒāļ›āļĢāļ°āļāļ­āļšāđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļšāđ€āļ­āļāļŠāļēāļĢ JSON āļĄāļąāļ™āļāļģāļŦāļ™āļ”āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ āļŠāļ™āļīāļ”āļ‚āđ‰āļ­āļĄāļđāļĨ āđāļĨāļ°āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ—āļĩāđˆāđ€āļ­āļāļŠāļēāļĢ JSON āļ•āđ‰āļ­āļ‡āļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄ āļ„āļīāļ”āļ§āđˆāļēāļĄāļąāļ™āđ€āļ›āđ‡āļ™āļŠāļąāļāļāļēāļŦāļĢāļ·āļ­āļ‚āđ‰āļ­āļāļģāļŦāļ™āļ”āļŠāļģāļŦāļĢāļąāļšāļ‚āđ‰āļ­āļĄāļđāļĨ JSON āļ‚āļ­āļ‡āļ„āļļāļ“

āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āļŦāļĨāļąāļāļ‚āļ­āļ‡ JSON Schema:

  • āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļ›āļĢāļ°āđ€āļ āļ— -- āļĢāļ°āļšāļļāļ§āđˆāļēāļ„āđˆāļēāļ•āđ‰āļ­āļ‡āđ€āļ›āđ‡āļ™ string, number, boolean, array, object āļŦāļĢāļ·āļ­ null
  • āļŸāļīāļĨāļ”āđŒāļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™ -- āļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ„āļļāļ“āļŠāļĄāļšāļąāļ•āļīāļšāļēāļ‡āļ­āļĒāđˆāļēāļ‡āđ€āļ›āđ‡āļ™āļšāļąāļ‡āļ„āļąāļš
  • āļ‚āđ‰āļ­āļˆāļģāļāļąāļ”āļ‚āļ­āļ‡āļ„āđˆāļē -- āļ•āļąāđ‰āļ‡āļ„āđˆāļēāļ•āđˆāļģāļŠāļļāļ”/āļŠāļđāļ‡āļŠāļļāļ” āļĢāļđāļ›āđāļšāļšāļŠāļ•āļĢāļīāļ‡ (regex) āđāļĨāļ°āļ„āđˆāļēāļ—āļĩāđˆāļ­āļ™āļļāļāļēāļ• (enums)
  • āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš array -- āļ„āļ§āļšāļ„āļļāļĄāļ„āļ§āļēāļĄāļĒāļēāļ§ array, āļ›āļĢāļ°āđ€āļ āļ—āļ‚āļ­āļ‡āļĢāļēāļĒāļāļēāļĢ āđāļĨāļ°āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āđ€āļ­āļāļĨāļąāļāļĐāļ“āđŒ
  • āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļšāļšāļ‹āđ‰āļ­āļ™ -- āļāļģāļŦāļ™āļ” schema āļŠāļģāļŦāļĢāļąāļš object āđāļĨāļ° array āļ—āļĩāđˆāļ‹āđ‰āļ­āļ™āļāļąāļ™
  • āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđāļšāļšāļĄāļĩāđ€āļ‡āļ·āđˆāļ­āļ™āđ„āļ‚ -- āđƒāļŠāđ‰āļāļŽāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™āļ•āļēāļĄāļ„āđˆāļēāļ‚āļ­āļ‡āļŸāļīāļĨāļ”āđŒāļ­āļ·āđˆāļ™

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡ JSON Schema:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["name", "email"],
  "properties": {
    "name": { "type": "string", "minLength": 1 },
    "email": { "type": "string", "format": "email" },
    "age": { "type": "integer", "minimum": 0, "maximum": 150 }
  }
}

JSON Schema āļ–āļđāļāđƒāļŠāđ‰āļ—āļąāđˆāļ§āđ„āļ›āđƒāļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš body āļ„āļģāļ‚āļ­ API, āđ„āļŸāļĨāđŒāļāļģāļŦāļ™āļ”āļ„āđˆāļē āđāļĨāļ°āļŠāļąāļāļāļēāļāļēāļĢāđāļĨāļāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļšāļĢāļīāļāļēāļĢ

FAQ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļˆāļąāļ”āļĢāļđāļ›āđāļšāļšāđāļĨāļ°āļ•āļĢāļ§āļˆāļŠāļ­āļš JSON - CoolTool