Praktik Terbaik Format JSON: Mudah Dibaca, Valid, dan Efisien
Jawaban Cepat
Gunakan indentasi 2 spasi untuk JSON yang dapat dibaca manusia, tanpa koma di akhir, kunci tanda kutip ganda, dan urutan kunci yang konsisten (bermakna menurut abjad atau domain). Perkecil JSON untuk pengangkutan produksi dan cetakan cantik untuk pengembangan. Gunakan JSON Formatter gratis kami untuk beralih di antara keduanya secara instan.
Perkenalan
JSON pilihan pemformatan memengaruhi keterbacaan, ukuran file, dan kecepatan proses debug. Meskipun sintaks JSON ditentukan secara ketat oleh RFC 8259, cara Anda membuat indentasi, mengurutkan kunci, dan menangani spasi adalah masalah konvensi. Panduan ini menjelaskan praktik terbaik yang diadopsi secara luas sehingga JSON Anda konsisten di seluruh tim, mudah di-debug, dan efisien secara langsung.
Langkah demi Langkah
-
Pilih lebar lekukan
2 spasi adalah konvensi yang paling umum (Prettier, ESLint, Google JSON Style Guide). 4 spasi dapat diterima untuk konfigurasi yang sangat bertingkat. Tab tidak disarankan karena rendering bervariasi antar editor. Pilih satu dan terapkan di seluruh proyek.
-
Pesan kunci secara konsisten
Baik mengurutkan kunci berdasarkan abjad untuk keluaran deterministik (berguna untuk caching dan perbedaan) atau mengelompokkan berdasarkan makna domain (id terlebih dahulu, lalu atribut, lalu hubungan). Hindari urutan kunci acak — hal ini membuat diff menjadi berisik dan merusak pengujian snapshot.
-
Perkecil untuk transportasi produksi
JSON yang diperkecil menghapus semua spasi yang tidak penting, mengurangi ukuran payload sebesar 10—0%. Sajikan JSON yang diperkecil dari APIs dalam produksi, dan simpan JSON yang dicetak dengan cantik hanya untuk pengembangan lokal dan debugging.
-
Validasi sebelum mengirim
Selalu jalankan JSON melalui validator sebelum mengirim ke API atau menulis ke file konfigurasi. Satu tanda koma atau kunci tanpa tanda kutip akan menyebabkan JSON.parse() membuang dan menghancurkan konsumen.
-
Gunakan formatter untuk beralih mode
Tempelkan JSON Anda ke dalam Formatter JSON untuk mempercantik untuk dibaca atau diperkecil untuk dipindahkan. Alat ini memvalidasi sintaksis dan melaporkan lokasi pasti kesalahan apa pun, sehingga menghemat waktu proses debug.
Contoh
Cetakan cantik (indentasi 2 spasi)
Masukan: {"id":1,"name":"Alice","active":true}
Keluaran: {
"id": 1,
"name": "Alice",
"active": true
}
Diperkecil untuk produksi
Masukan: {
"id": 1,
"name": "Alice"
}
Keluaran: {"id":1,"name":"Alice"}
Kunci yang diurutkan berdasarkan abjad
Masukan: {"zebra":1,"apple":2,"mango":3}
Keluaran: {"apple":2,"mango":3,"zebra":1}
Masalah Umum
- Tanda koma di akhir: {"a":1,} tidak valid JSON. Kebanyakan pemformat menghapusnya, tetapi parser ketat seperti JSON.parse() akan menolak masukan.
- Tanda kutip tunggal dan kunci tanpa tanda kutip: {'a':1} dan {a:1} adalah JavaScript yang valid tetapi JSON tidak valid. Selalu gunakan tanda kutip ganda untuk kunci dan nilai string.
- Komentar di JSON: standar JSON tidak mengizinkan // atau /* */ komentar. Gunakan JSONC, JSON5, atau file skema terpisah jika Anda memerlukan dokumentasi inline.
- Indentasi campuran: mencampurkan tab dan spasi akan merusak alat yang berbeda dan dapat menyebabkan error lint "indentasi tidak konsisten". Normalisasikan dengan formatter sebelum melakukan.
Kiat
- Konfigurasikan editor Anda ke format JSON saat disimpan dengan lekukan 2 spasi —ini mencegah perdebatan gaya dalam tinjauan kode.
- Untuk respons API, atur Content-Type: application/json; charset=utf-8 dan sajikan JSON yang diperkecil dengan kompresi gzip/Brotli untuk efisiensi maksimum.
- Gunakan pengurutan kunci deterministik (misalnya berdasarkan abjad) ketika JSON di-hash atau dibandingkan dalam pengujian snapshot —urutan acak menyebabkan kegagalan positif palsu.
- Saat men-debug payload JSON yang besar, cetaklah terlebih dahulu, lalu gunakan regex atau jq untuk mengekstrak subpohon yang relevan alih-alih memindai secara langsung.