Apa itu file JSON, dengan apa membukanya, dan cara mengeditnya
Intinya: Dari teks rusak di Notepad hingga tiga cara membuka file JSON, plus cara memastikan tidak ada yang rusak setelah diedit dan apa yang harus dilakukan saat file besar tidak mau terbuka.

Intinya: sebelum membuka file JSON, pastikan encoding dan BOM-nya, lalu periksa bahwa strukturnya hanya object atau array; setelah mengedit, selalu validasi dengan parser alih-alih mengandalkan mata pada kurung dan koma.
Sederhananya ini file teks biasa dengan ekstensi
.json, dan bahkan Notepad bisa membukanya. Masalah yang sebenarnya bukan "tidak mau terbuka", melainkan setelah terbuka Anda tidak bisa melihat apa yang telah dirusak.
1. Apa yang sebenarnya ada di dalam file JSON
File JSON yang valid hanya boleh berisi salah satu dari dua hal: object {...} atau array [...]. Tidak ada yang lain — tidak ada deklarasi variabel, tidak ada komentar, tidak ada fungsi.
{
"name": "order service",
"port": 8080,
"debug": false,
"upstream": ["10.0.0.11", "10.0.0.12"],
"timeout": null
}
Mengenali tiga hal secara struktural sudah cukup:
| Yang Anda lihat | Artinya | Konsep pemrograman yang sesuai |
|---|---|---|
Pasangan kunci-nilai yang dibungkus { } |
Sebuah object; kunci harus string berkutip ganda | Map / struct |
Urutan nilai yang dibungkus [ ] |
Sebuah array; tipe elemen boleh berbeda | List |
| Enam tipe nilai | String, number, boolean, null, object, array | Hanya enam ini; tidak ada tanggal dan tidak ada integer |
Ekstensi file tidak menentukan isinya: package.json, tsconfig.json, dan composer.json semuanya hal yang sama; berbagai alat hanya sepakat untuk membaca kunci yang berbeda dari mereka.
2. Tiga cara membukanya, dipilih sesuai skenario
Sekadar melihat sekilas: buka di browser. Seret file ke jendela Chrome atau Edge dan browser menampilkannya apa adanya; jika ekstensi JSON Viewer terpasang, file otomatis di-pretty-print dan dibuat bisa dilipat.
Perlu mengedit isinya: gunakan editor. VS Code, Sublime, dan Notepad++ semuanya menyediakan syntax highlighting JSON dan bracket matching, dan Shift + Alt + F di VS Code memformat dokumen. Perhatikan bahwa Notepad Windows dapat menambahkan BOM saat menyimpan, sehingga perubahan konfigurasi Anda mungkin tidak berlaku; lebih baik hindari.
Tidak ingin memasang apa pun, hanya ingin memvalidasi: gunakan formatter JSON online. Tempelkan isinya dan Anda langsung melihat nomor baris dan kolom, lokasi error, serta tree yang bisa dilipat; salin hasilnya setelah selesai. Data diproses secara lokal di browser dan tidak diunggah ke server.
File besar (puluhan MB atau lebih): jangan memaksanya terbuka di editor. Membuka file JSON 100 MB di VS Code akan macet sampai Anda mempertanyakan pilihan hidup; gunakan command line untuk memeriksa strukturnya lebih dulu:
# Look at the first 20 lines to confirm whether it is an array
head -n 20 data.json
# Use jq to list top-level keys without loading the whole file
jq -r 'keys[]' data.json | head
# Count the array length
jq 'length' data.json
3. Apa yang harus dilakukan saat klik ganda membuka teks rusak
Tiga penyebab, masing-masing ditangani berbeda:
- Sebenarnya file biner (misalnya arsip terkompresi, atau file database hasil ekspor, dengan ekstensi
.json). Gunakanfile data.jsonuntuk melihat tipe sebenarnya; jangan memaksanya diperlakukan sebagai teks. - Encoding-nya bukan UTF-8. Teks Tionghoa yang di-encode sebagai GBK menjadi rusak di lingkungan UTF-8. Gunakan "Reopen with encoding" di editor dan coba GBK sekali; jika tampil dengan benar, simpan sebagai UTF-8.
- File telah dienkripsi atau dikompresi. Gejalanya adalah
PK(zip) atau tumpukan tanda tanya di awal; file seperti ini harus didekompresi atau didekripsi lebih dulu.
4. Cara memastikan tidak ada yang rusak setelah mengedit
JSON tidak mentolerir kesalahan: satu koma hilang, satu koma berlebih, atau satu kutip hilang membuat seluruh file mati, dan lokasi error yang dilaporkan sering menunjuk baris berikutnya. Jadi Anda harus memvalidasi setelah mengedit; jangan mengandalkan mata.
Tiga tindakan edit berisiko tinggi, diurutkan berdasarkan seberapa sering menimbulkan masalah:
| Tindakan | Konsekuensi umum | Cara menghindari |
|---|---|---|
| Menempel blok konfigurasi | Membawa koma di akhir atau tanda baca lebar penuh | Format segera setelah menempel |
| Menukar urutan kunci secara manual | Koma berlebih atau koma hilang | Gunakan perintah pindah baris di editor; jangan mengetik ulang dengan tangan |
| Menghapus elemen terakhir array | Meninggalkan ,] |
Periksa bahwa kurung berpasangan setelah dihapus |
Validasi itu sederhana: tempelkan ke validator online dan cari teks merah, atau jalankan satu baris di command line:
python3 -m json.tool config.json > /dev/null && echo OK
Jika mencetak OK, file valid. Jika Anda juga ingin memvalidasi tipe field (misalnya port harus number dan name tidak boleh kosong), menulis JSON Schema jauh lebih andal daripada mata manusia.
5. Bagaimana .json berbeda dari kerabat dekatnya
| Ekstensi | Perbedaan | Apakah parser standar bisa membacanya |
|---|---|---|
.json |
JSON standar | Ya |
.jsonc |
Mengizinkan komentar // dan /* */ |
Tidak; komentarnya harus dihapus lebih dulu |
.json5 |
Mengizinkan komentar, kutip tunggal, kunci tanpa kutip, koma di akhir | Tidak; diperlukan parser JSON5 |
.jsonl / .ndjson |
Satu JSON independen per baris; file secara keseluruhan bukan JSON valid | Tidak, tidak secara keseluruhan; harus dibaca baris demi baris |
Jangan heran melihat komentar di tsconfig.json; file itu sebenarnya ditangani sebagai .jsonc. Berikan isi yang sama ke JSON.parse dan ia akan memunculkan error. Saat Anda perlu mengonversi di antara keduanya, gunakan JSON5 ke JSON untuk menghapus komentar dan koma di akhir dalam sekali klik.
6. Kapan waktunya beralih format penyimpanan
JSON cocok untuk skenario di mana "strukturnya tidak tetap, manusia perlu membacanya, dan ia melintasi berbagai bahasa". Jika sebuah file melebihi puluhan MB, struktur field stabil, dan Anda membutuhkan kueri bersyarat, tetap memakai JSON hanya menyusahkan diri sendiri — beralihlah ke SQLite, Parquet, atau memuatnya ke database; kinerja baca/tulis berbeda beberapa orde besaran. Untuk pertimbangan spesifiknya, lihat Parsing dan streaming JSON besar.
FAQ
Bagaimana cara memeriksa file JSON yang terlalu besar untuk dibuka?
Jangan memaksanya terbuka di editor; membuka file JSON 100 MB di VS Code akan macet sampai Anda mempertanyakan pilihan hidup. Gunakan command line untuk memeriksa strukturnya lebih dulu: head -n 20 memastikan apakah itu array, jq -r 'keys[]' hanya menampilkan kunci tingkat teratas, dan jq 'length' menghitung panjang array. Tidak ada perintah ini yang memuat seluruh file.
Mengapa hasil edit saya di Notepad membuat konfigurasi tidak berlaku?
Notepad Windows dapat menambahkan BOM saat menyimpan, dan file dengan BOM gagal di-parse sebagai konfigurasi, sehingga konten yang diedit tidak pernah berlaku. Rekomendasi artikel ini adalah menggunakan editor seperti VS Code, Sublime, atau Notepad++, yang menyediakan syntax highlighting JSON dan bracket matching. Jika Anda sudah terlanjur memakai Notepad, simpan lagi sebagai "UTF-8 tanpa BOM" dan coba ulang.
Bisakah saya memperlakukan file JSON sebagai JSON5 dan menambahkan komentar?
Tidak — parser standar tidak mengizinkan komentar dalam file .json dan JSON.parse langsung memunculkan error. Komentar hanya boleh ada di file .jsonc atau .json5 yang dibaca oleh parser yang sesuai. File seperti tsconfig.json sebenarnya ditangani sebagai .jsonc; berikan isi yang sama ke JSON.parse dan ia gagal.