Pemformat JSON

Format, validasi, dan minify JSON secara instan.

Tempelkan JSON Anda

data.json
Siap. Tempelkan JSON dan pilih tindakan.

JSON Anda diproses langsung di browser Anda. Tidak ada data yang diunggah ke BroBroGo.

Tanya Jawab

Apakah JSON saya diunggah?

Tidak. Pemformat berjalan langsung di browser Anda dan tidak mengunggah data JSON Anda.

Apa fungsi minify?

Minify menghapus spasi dan pemisah baris yang tidak diperlukan sambil tetap mempertahankan data JSON yang sama.

Memahami Sintaksis dan Struktur JSON dalam Pertukaran Data

JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang digunakan secara luas dalam pengembangan web modern dan API. Format ini menggunakan struktur teks yang mudah dibaca oleh manusia sekaligus mudah diproses oleh mesin. Struktur dasar JSON terdiri dari pasangan kunci-nilai (objek) serta daftar nilai yang berurutan (array).

Meskipun strukturnya sederhana, aturan sintaksis JSON sangat ketat. Setiap kunci objek harus berupa string yang diapit oleh tanda kutip ganda. Nilai di dalamnya hanya boleh berupa string, angka, objek, array, boolean (true/false), atau null. Kesalahan kecil seperti penggunaan tanda kutip tunggal atau koma yang tertinggal akan membuat seluruh dokumen menjadi tidak valid. Oleh karena itu, validasi dan pemformatan yang tepat menjadi langkah krusial sebelum data dikirimkan atau disimpan.

Mengunggah dan Memproses File JSON

Alat ini memungkinkan Anda untuk memasukkan data dengan menempelkannya langsung ke area input atau dengan membuka file secara langsung. Anda dapat membuka file dengan ekstensi .json atau .txt dengan mengeklik "Buka file" atau dengan menyeret dan meletakkan file ke area kerja.

Untuk memastikan proses berjalan lancar, terdapat beberapa aturan dan batasan sistem yang diterapkan pada file masukan:

  • Format dan Enkode: File yang diunggah harus berupa teks dengan enkode UTF-8. Jika file tidak memenuhi syarat ini, sistem akan menampilkan pesan "File ini bukan teks UTF-8, jadi tidak dapat dibuka di sini.".
  • Jenis File: Hanya file dengan ekstensi .json atau .txt yang didukung. Jika Anda memilih format lain, sistem akan memunculkan pesan "Jenis file tidak didukung — pilih file.json atau.txt.".
  • Batasan Ukuran: Ukuran file maksimal yang dapat diproses adalah 10 MiB. Jika file melebihi batas tersebut, pesan "File terlalu besar — batasnya {limit}." akan muncul. Jika masukan teks langsung melebihi batas pemrosesan, sistem menampilkan "Masukan lebih besar dari {limit}, melebihi yang dapat diproses alat ini.".
  • Kegagalan Membaca: Jika terjadi masalah teknis saat memuat dokumen, sistem akan menampilkan "Tidak dapat membaca file ini. Coba pilih lagi.". Setelah file berhasil dimuat, Anda akan melihat konfirmasi "{name} dimuat ({size}).".

Validasi, Pemformatan, dan Minifikasi JSON

Alat ini menyediakan fungsi utama untuk merapikan (format) dan memadatkan (minify) data JSON Anda. Saat Anda menempelkan data, status awal yang ditampilkan adalah "Siap. Tempelkan JSON dan pilih tindakan.". Anda juga dapat memantau statistik dokumen secara langsung melalui indikator Karakter, Baris, dan Ukuran.

Pemformatan JSON

Pemformatan bertujuan untuk meningkatkan keterbacaan kode dengan menambahkan spasi, tab, dan baris baru. Anda dapat memilih tingkat Indentasi yang diinginkan serta menentukan Sintaks antara "JSON" standar atau "JSONC" yang mendukung komentar. Setelah proses selesai, sistem menampilkan pesan "JSON berhasil diformat.".

Minifikasi JSON

Sebaliknya, minifikasi digunakan untuk mengoptimalkan transmisi data dan menghemat ruang penyimpanan dengan menghapus semua spasi, tab, dan pemisah baris yang tidak diperlukan. Hasil akhirnya adalah satu baris teks padat yang siap digunakan dalam lingkungan produksi. Setelah proses minifikasi berhasil dijalankan, sistem akan menampilkan pesan "JSON berhasil di-minify.".

Pengurutan Kunci Objek

Untuk mempermudah analisis data, Anda dapat menggunakan fitur "Urutkan kunci". Fitur ini berfungsi untuk mengurutkan kunci objek secara rekursif menurut urutan titik kode, sedangkan urutan elemen di dalam array tidak akan pernah berubah. Setelah tombol ditekan, sistem memunculkan pesan "Kunci diurutkan — urutan array tidak berubah. Tekan Ctrl/Cmd+Z untuk membatalkan.". Jika Anda ingin mengosongkan seluruh area kerja, tombol "Bersihkan" akan mengembalikan editor ke kondisi awal dengan pesan "Editor dibersihkan.".

Navigasi Struktur Data dengan Tampilan Pohon

Membaca dokumen JSON yang sangat besar dan kompleks dalam bentuk teks biasa sering kali menyulitkan. Alat ini menyediakan dua mode visualisasi, yaitu tampilan "Kode" untuk melihat teks mentah, dan tampilan "Pohon" untuk menjelajahi struktur data secara interaktif.

root
 ├─ nama: "Layanan API"
 ├─ status: "Aktif"
 └─ parameter (expand)

Pada tampilan "Pohon", Anda dapat melakukan navigasi dengan aturan berikut:

  • Pencarian Data: Gunakan kotak pencarian dengan label "Cari kunci dan nilai". Hasil pencarian akan ditunjukkan dengan indikator jumlah seperti "{current} dari {total}" atau "{current} dari {total}+" jika hasil pencarian dibatasi. Jika tidak ada data yang cocok, sistem menampilkan "Tidak ada hasil". Anda dapat berpindah antar-hasil pencarian menggunakan tombol "Hasil sebelumnya" dan "Hasil berikutnya".
  • Ekspansi Node: Anda dapat membuka seluruh struktur dengan "Bentangkan semua" atau menutupnya dengan "Ciutkan semua". Untuk node individu, tersedia tombol "Bentangkan {key}" dan "Ciutkan {key}".
  • Batasan Tampilan Pohon: Jika JSON Anda tidak valid, tampilan pohon tidak dapat dimuat dan memunculkan pesan "Perbaiki JSON untuk melihatnya sebagai struktur pohon.". Jika ukuran dokumen terlalu besar, sistem akan menampilkan "JSON ini terlalu besar untuk ditampilkan sebagai struktur pohon." atau "JSON ini memiliki terlalu banyak nilai untuk ditampilkan sebagai pohon.". Untuk dokumen besar yang dipaksakan membentang, sistem akan membatasi baris dengan pesan "JSON ini terlalu besar untuk dibentangkan seluruhnya — menampilkan {count} baris pertama." dan menyediakan tombol "Tampilkan {count} lagi…".

Ekstraksi Data Menggunakan JSON Pointer dan JSONPath

Saat bekerja dengan dokumen JSON yang besar, Anda sering kali hanya membutuhkan sebagian kecil dari data tersebut. Melalui menu interaktif pada tampilan pohon, Anda dapat mengeklik "Opsi salin untuk {key}" untuk mengekstrak informasi spesifik. Alat ini menyediakan tiga opsi penyalinan:

  1. Salin nilai: Menyalin nilai mentah dari kunci yang dipilih ke clipboard Anda.
  2. Salin JSON Pointer: Menyalin jalur lokasi data berdasarkan standar RFC 6901 (misalnya, /pengguna/0/nama).
  3. Salin JSONPath: Menyalin ekspresi query JSONPath (misalnya, $.pengguna.nama) yang umum digunakan untuk pencarian data dinamis dalam pemrograman.

Setelah menyalin, sistem akan menampilkan notifikasi "Disalin ke clipboard.".

Mengidentifikasi dan Memperbaiki Kesalahan Sintaksis

Jika data yang Anda masukkan tidak valid, sistem akan mendeteksi kesalahan tersebut secara real-time dan menampilkan label "JSON tidak valid". Untuk membantu proses debugging, alat ini akan menunjukkan lokasi kesalahan secara spesifik dengan format "baris {line}, kolom {col}" serta menyediakan tombol "Ke lokasi kesalahan".

Beberapa pesan kesalahan spesifik yang dapat diidentifikasi meliputi:

  • "Koma hilang di antara item"
  • "Koma berlebih sebelum tanda kurung penutup"
  • "Kunci objek harus diapit tanda kutip ganda"
  • "Titik dua hilang setelah nama properti"
  • "Ada string yang kehilangan tanda kutip penutupnya"
  • "JSON berakhir terlalu cepat — tampaknya terpotong"
  • "Karakter tak terduga di tempat yang seharusnya berisi nilai"
  • "JSON ini bersarang terlalu dalam untuk diproses"
  • "Kunci duplikat {key} — hapus salah satu sebelum memformat" (alat ini tidak akan menggabungkan atau membuang kunci duplikat secara diam-diam).

Pratinjau dan Perbaikan Otomatis

Alat ini dilengkapi dengan fitur "Pratinjau perbaikan" untuk memperbaiki format non-standar secara otomatis. Saat mendeteksi format yang tidak biasa, sistem akan menampilkan pesan deteksi beserta tindakan perbaikannya:

Deteksi Format Non-Standard Pesan Deteksi Tindakan Perbaikan
Markdown Code Fence "Ini tampak seperti JSON di dalam blok kode Markdown." "Saat diterapkan, hanya JSON di dalam blok yang dipertahankan."
Escaped String "Ini tampak seperti JSON yang di-escape di dalam string." "Saat diterapkan, string di-unescape menjadi JSON biasa."
Python Dictionary "Ini tampak seperti dictionary gaya Python, bukan JSON." "Saat diterapkan, tanda kutip dan True/False/None ditulis ulang sebagai JSON."
JSON Lines (NDJSON) "Ini tampak seperti JSON Lines — satu nilai per baris." "Saat diterapkan, baris-baris digabung menjadi satu array JSON."
JSONP Callback "Ini tampak seperti JSON yang dibungkus callback JSONP." "Saat diterapkan, pembungkus callback dihapus."
JSONC (Comments) "Ini tampak seperti JSONC — ada komentar atau koma di akhir. Alihkan sintaks ke JSONC atau terapkan perbaikan." "Saat diterapkan, komentar dan koma di akhir dihapus."

Saat Anda membuka jendela "Pratinjau perbaikan", Anda akan melihat perbandingan antara data "Asli" dan data "Setelah perbaikan". Jika dokumen terlalu besar, sistem menampilkan "Pratinjau dipangkas — perbaikan berlaku untuk seluruh dokumen.". Anda dapat memilih "Terapkan perbaikan" atau "Batal". Jika berhasil, pesan "Perbaikan diterapkan. Tekan Ctrl/Cmd+Z untuk membatalkan." akan muncul. Jika sistem gagal memperbaiki secara otomatis, akan muncul pesan "Input ini tidak dapat diperbaiki secara otomatis.".

Batasan Kinerja dan Penanganan Dokumen Besar

Untuk menjaga stabilitas browser Anda saat memproses data berukuran besar, alat ini menerapkan beberapa batasan operasional yang ketat:

  • Ambang Batas Sinkron: Batas pemrosesan sinkron langsung adalah sebesar 250.000 karakter.
  • Preservasi Integer Besar: Alat ini mempertahankan nilai integer besar (large integers) secara akurat tanpa kehilangan presisi atau mengalami pembulatan.
  • Waktu Habis (Timeout): Jika proses analisis memakan waktu terlalu lama, sistem akan menghentikan operasi dan menampilkan pesan "Pemeriksaan JSON ini terlalu lama dan dihentikan. Coba dokumen yang lebih kecil.".

Keamanan Data dan Privasi Pengguna

Keamanan informasi Anda adalah prioritas utama kami. JSON Anda diproses langsung di browser Anda. Tidak ada data yang diunggah ke BroBroGo. Semua proses validasi, pemformatan, minifikasi, dan perbaikan otomatis berjalan secara lokal pada perangkat Anda tanpa melibatkan lalu lintas jaringan ke server luar.


Pertanyaan yang Sering Diajukan (FAQ)

Apakah JSON saya diunggah?
Tidak. Pemformat berjalan langsung di browser Anda dan tidak mengunggah data JSON Anda.

Apa fungsi minify?
Minify menghapus spasi dan pemisah baris yang tidak diperlukan sambil tetap mempertahankan data JSON yang sama.

Mengapa saya melihat pesan kesalahan tentang kunci duplikat?
Alat ini tidak akan menggabungkan atau membuang nilai dari kunci yang sama secara diam-diam. Anda harus menghapus salah satu kunci duplikat secara manual sebelum dapat memformat dokumen.

Bagaimana cara menyimpan hasil kerja saya ke komputer?
Setelah selesai memformat atau memodifikasi data, Anda dapat mengeklik tombol "Unduh". Setelah file berhasil disimpan ke perangkat Anda, sistem akan menampilkan notifikasi "{name} diunduh.".