Cara Memformat JSON untuk Debugging Lebih Cepat

Respons API yang diperkecil menyembunyikan kesalahan yang terlihat jelas. Pelajari alur kerja yang dapat diulang—cetak cantik, validasi struktur, dekode JWT, dan uji regex—menggunakan alat browser yang menyimpan payload di mesin Anda.

Saat API mengembalikan dinding JSON yang diperkecil, proses debug akan melambat sebelum Anda menemukan bug sebenarnya. Tombol menjadi kabur, koma yang hilang tersembunyi dalam string yang panjang, dan array yang disarangkan menjadi tidak mungkin untuk dipindai. Pencetakan cantik bukanlah sesuatu yang bersifat kosmetik—ini adalah cara Anda mengubah format transportasi buram menjadi sesuatu yang dapat diurai oleh mata Anda dalam hitungan detik.

Salin respons mentah dari tab jaringan browser Anda, terminal, atau file log. Tempelkan ke JSON Formatter di Power Tools. Pilih tingkat indentasi—dua spasi untuk log ringkas, empat spasi saat Anda berbagi cuplikan dalam tinjauan kode. Pemformat memvalidasi sintaksis saat dirender. Jika tanda koma atau kunci tanpa tanda kutip merusak dokumen, Anda akan segera melihat lokasi kesalahan alih-alih menebak baris mana yang gagal.

Kesalahan validasi terbagi dalam beberapa kategori yang dapat diprediksi. Satu kutipan yang hilang sering kali menghasilkan lusinan pesan yang menyesatkan; perbaiki masalah pertama yang dilaporkan dan format ulang. Angka yang disimpan sebagai string—"200" dan bukan 200—adalah JSON yang valid namun dapat merusak perbandingan ketat dalam aplikasi Anda; sorot itu saat membaca keluaran yang menjorok ke dalam. Kunci nol versus kunci yang tidak ada penting dalam titik akhir PATCH: JSON yang diformat membuatnya jelas ketika suatu bidang secara eksplisit bernilai nol, bukannya hilang.

Setelah payload dapat dibaca, lakukan debug secara strategis daripada membaca dari atas ke bawah. Identifikasi amplop: Pembungkus HTTP sering kali menempatkan data di bawah data, hasil, atau item. Bandingkan bentuk yang Anda harapkan—array versus objek—dengan apa yang dihasilkan. Jika penomoran halaman terlibat, konfirmasikan bidang halaman, total, dan kursor sebelum menyelami catatan individual.

Bug autentikasi sering kali melibatkan token akses JWT. Saat API mengembalikan 401 atau 403, tempelkan token pembawa—tanpa awalan "Pembawa" jika dekoder mengharapkan JWT mentah—ke dalam alat Dekoder JWT. Periksa klaim exp terlebih dahulu: token yang kedaluwarsa menjelaskan kegagalan mendadak yang tampak "acak" karena jam melewati batas. Periksa iss dan aud apakah layanan Anda memvalidasi penerbit atau audiens. Bagian payload mengungkapkan peran, ID penyewa, dan klaim khusus yang mungkin salah dibaca oleh backend Anda jika jenisnya berbeda antar layanan.

Jangan pernah menempelkan token produksi ke pastebin publik atau tangkapan layar obrolan dengan klaim yang terlihat. Decoding berbasis browser di komputer Anda menjaga rahasia dari server pihak ketiga, namun layar dan clipboard Anda tetap penting. Kosongkan bidang setelah melakukan debug pada perangkat keras bersama.

Bidang string sering kali berisi blob JSON atau base64 yang lolos. Setelah memformat objek luar, salin string dalam dan format lagi. Beberapa kesalahan pengkodean ganda API: bidang pesan menyimpan string JSON, bukan objek. Mencetak cantik setiap lapisan akan memperlihatkan pesan validasi sebenarnya yang harus ditunjukkan UI Anda kepada pengguna.

Jika log menyertakan teks campuran dan JSON—umum dalam pengiriman webhook—gunakan Penguji Regex untuk mengisolasi blok JSON sebelum memformat. Pola seperti \{[\s\S]*\} dengan penahan yang hati-hati dapat mengekstraksi objek dari header di sekitarnya. Uji regex terhadap sampel log yang disimpan, lalu terapkan secara konsisten di seluruh entri serupa. Gabungkan ekstraksi regex dengan pemformat sehingga Anda tidak menghapus awalan stempel waktu secara manual baris demi baris.

Untuk pekerjaan regresi, perkecil kembali JSON yang diformat menjadi satu baris saat Anda perlu mereproduksi urutan byte yang tepat di curl atau Postman. JSON Formatter mendukung mode minify untuk perjalanan bolak-balik tersebut. Simpan kedua representasi di tiket Anda: diindentasi untuk pembaca manusia, diperkecil untuk langkah reproduksi salin-tempel.

Buat daftar periksa pribadi untuk insiden API. Langkah pertama: format dan perbaiki sintaksis. Langkah kedua: petakan bidang terhadap tipe OpenAPI atau TypeScript Anda. Langkah ketiga: dekode JWT jika autentikasi terlibat. Langkah keempat: ekstrak muatan tertanam secara regex dari log bila diperlukan. Langkah kelima: dokumentasikan subset terkecil yang gagal—hapus cabang yang tidak terkait hingga hanya kunci bermasalah yang tersisa.

Tim mendapat manfaat dari menyepakati konvensi pengurutan indentasi dan kunci meskipun objek JSON secara teknis tidak berurutan. Pemformatan yang konsisten dalam permintaan tarik mengurangi kebisingan yang berbeda. Saat meninjau payload orang lain, minta mereka menempelkan JSON yang diformat, bukan tangkapan layar; teks bisa dicari, gambar tidak bisa.

Array besar patut mendapat perhatian khusus. Runtuhnya mental pada indeks nol itu mudah; bug di indeks empat ratus tidak. Setelah memformat, cari ID atau email spesifik dari laporan bug Anda. Jika pemformat kesulitan dengan masukan tempel yang sangat besar, pisahkan larik di editor Anda atau minta titik akhir yang diberi nomor halaman dari pemilik API.

Bidang sensitif terhadap keamanan—kata sandi, token penyegaran, kunci pribadi—terkadang muncul dalam dump debug yang tidak disengaja. Redaksi sebelum membagikan keluaran yang diformat dalam tiket, bahkan secara internal. Pemformat tidak menghapus rahasia untuk Anda.

Dengan JSON Formatter untuk struktur, JWT Decoder untuk klaim token, dan Regex Tester untuk mengeluarkan JSON dari log yang berantakan, Anda mengubah sesi salin-tempel yang sibuk menjadi alur yang pendek dan berulang. Saat produksi berikutnya mengembalikan 500 dengan isi buram, Anda akan menghabiskan waktu beberapa menit untuk menemukan bidang yang melanggar, bukannya berjam-jam melawan spasi.