Kotak alat JSON

Format / minifikasi / escape / unescape — semuanya berjalan di peramban Anda.

Hasil

Cara menggunakan

  1. Tempel JSON atau teks apa pun di kiri, lalu pilih tindakan di atas: Format, Minifikasi, Escape, atau Unescape.
  2. "Indentasi" hanya memengaruhi Format (2 atau 4 spasi). Hasil terformat mulai dalam keadaan terbentang; gunakan panah di samping setiap baris untuk menciutkan atau membentangkan objek dan larik.
  3. Validasi otomatis menunjuk baris dan kolom saat menemukan kesalahan; salin atau unduh hasilnya, dan gunakan tombol ⇄ di samping "Hapus" untuk memindahkannya kembali ke masukan. Tindakan ini selalu memakai hasil lengkap, meskipun sebagiannya diciutkan.

Contoh

Masukan

{"user":{"id":42,"name":"Rina Wijaya","roles":["admin","editor"],"active":true},"score":12345678901234567890}

Terformat

{
  "user": {
    "id": 42,
    "name": "Rina Wijaya",
    "roles": [
      "admin",
      "editor"
    ],
    "active": true
  },
  "score": 12345678901234567890
}

Hanya aturan bawaan: indentasi 2 spasi, kunci sesuai urutan yang Anda tulis. Skor 20 digit dicetak digit demi digit — perjalanan bolak-balik JSON.parse akan mengubahnya menjadi 12345678901234567000.

Aturan, batasan, dan masalah yang diketahui

  • JSON ketat (RFC 8259): komentar, koma di akhir, kutip tunggal, kunci tanpa kutip, NaN, dan Infinity ditolak, dan pesannya menyebutkan perbaikannya alih-alih mengutip parser.
  • Format dan Minifikasi hanya mengubah spasi. Escape string, literal angka, dan kunci berkutip dicetak persis seperti yang diketik: "\u00e9" tetap "\u00e9", 12345678901234567890 tetap eksak, 1e400 tidak menjadi null, -0 tetap -0.
  • Kunci duplikat menyimpan nilai terakhir, seperti JSON.parse, dan peringatan menyebutkan kuncinya. Nilai sebelumnya dibuang.
  • "Escape" mengodekan seluruh masukan menjadi satu literal string JSON (tanda kutip, garis miring terbalik, dan karakter kontrol di-escape; sisanya tidak disentuh). "Unescape" menerima string berkutip yang lengkap (diperiksa ketat) atau rangkaian escape tanpa kutip.
  • Nomor baris dan kolom menghitung titik kode Unicode, jadi satu emoji adalah satu kolom. Hanya spasi, tab, line feed, dan carriage return yang dihitung sebagai spasi; U+3000 atau U+00A0 dilaporkan dengan titik kodenya.
  • Batasan: 1.000.000 karakter dan 512 tingkat penyarangan. Melewati salah satunya memberi kesalahan, tidak pernah hasil yang dipotong. Unggahan berkas hanya membaca berkas lokal — tidak ada yang diunggah.
  • Tanpa konversi JSON→YAML/XML/CSV, tanpa JSON Schema, tanpa JSONPath, tanpa editor pohon, tanpa parameter URL, tanpa riwayat. Semua berjalan di peramban Anda: tidak ada yang diunggah atau disimpan.

Yang biasanya dibutuhkan berikutnya setelah JSON selesai.