Panduan Lengkap JSON: Format, Sahkan dan Ubah Data Anda
Semua yang perlu anda ketahui tentang JSON -- daripada sintaks asas hingga teknik pemformatan lanjutan. Pelajari cara memformat, mengesahkan, menukar dan menyelesaikan masalah data JSON seperti pembangun profesional.
Apa itu JSON dan Mengapa Ia Penting?
JSON (JavaScript Object Notation) ialah format pertukaran data yang ringan yang telah menjadi standard de facto untuk memindahkan data antara pelayan dan aplikasi web. Dicipta oleh Douglas Crockford pada awal tahun 2000-an, JSON direka bentuk supaya mudah dibaca dan ditulis oleh manusia, dan mudah dihurai dan dijana oleh mesin.
Hari ini, JSON ada di mana-mana. API REST menggunakannya untuk badan permintaan dan respons. Fail konfigurasi dalam alat seperti package.json, tsconfig.json, dan .eslintrc.json bergantung padanya. Pangkalan data seperti MongoDB menyimpan dokumen dalam format seperti JSON. Malah komunikasi antara perkhidmatan dalam seni bina perkhidmatan mikro menggunakan JSON secara dominan.
Memahami JSON bukanlah pilihan untuk pembangun moden -- ia adalah kemahiran asas. Sama ada anda pembangun bahagian hadapan yang menggunakan data API, jurutera bahagian belakang yang mereka bentuk API, atau jurutera DevOps yang menguruskan fail konfigurasi, anda bekerja dengan JSON setiap hari.
Sintaks JSON: Peraturan Lengkap
Sintaks JSON kelihatan mudah, tetapi kesilapan dalam butirannya membawa kepada ralat penghuraian yang sukar dinyahpepijat. Berikut adalah peraturan lengkap:
Jenis Data
JSON menyokong tepat enam jenis data:
- Rentetan: Teks dalam tanda petik berganda. Contoh:
"hello world" - Nombor: Integer atau titik terapung. Contoh:
42,3.14,-7,1.5e10 - Boolean: Sama ada
trueataufalse(huruf kecil sahaja) - Null: Nilai
null(huruf kecil sahaja) - Objek: Koleksi pasangan kunci-nilai yang tidak tersusun dalam kurungan kerinting
{} - Tatasusunan: Senarai nilai yang tersusun dalam kurungan persegi
[]
Peraturan Sintaks Utama
- Semua kunci mestilah rentetan dalam tanda petik berganda (tanda petik tunggal tidak dibenarkan)
- Pasangan kunci-nilai dipisahkan oleh tanda titik bertindih (
:) - Berbilang pasangan atau nilai dipisahkan oleh koma (
,) - Tiada koma mengekor dibenarkan selepas item terakhir
- Tiada komen dibenarkan (tidak seperti JavaScript)
- Elemen akar mestilah sama ada objek
{}atau tatasusunan[]
Contoh JSON yang Sah
{
"name": "John Doe",
"age": 30,
"isActive": true,
"email": null,
"address": {
"street": "123 Main St",
"city": "New York",
"zipCode": "10001"
},
"skills": ["JavaScript", "Python", "SQL"],
"projects": [
{
"name": "Website Redesign",
"status": "completed",
"year": 2025
},
{
"name": "API Migration",
"status": "in-progress",
"year": 2026
}
]
}
10 Ralat JSON Paling Biasa (dan Cara Membetulkannya)
Pembangun berpengalaman pun melakukan kesilapan ini. Berikut adalah ralat sintaks JSON yang paling kerap dan penyelesaiannya:
1. Koma Mengekor
Ini adalah ralat JSON yang paling biasa. JavaScript membenarkan koma mengekor, tetapi JSON tidak.
// SALAH - koma mengekor selepas "SQL"
{
"skills": ["JavaScript", "Python", "SQL",]
}
// BETUL
{
"skills": ["JavaScript", "Python", "SQL"]
}
2. Tanda Petik Tunggal dan Bukannya Tanda Petik Berganda
JSON memerlukan tanda petik berganda untuk semua rentetan dan kunci. Tanda petik tunggal atau backtick akan menyebabkan ralat penghuraian.
// SALAH
{\'name\': \'John\'}
// BETUL
{"name": "John"}
3. Kunci Tanpa Tanda Petik
Tidak seperti objek JavaScript, kunci JSON mestilah sentiasa rentetan bertanda petik.
// SALAH
{name: "John", age: 30}
// BETUL
{"name": "John", "age": 30}
4. Penggunaan Undefined atau NaN
JSON tidak menyokong undefined, NaN, atau Infinity. Gunakan null sebagai gantinya.
5. Komen dalam JSON
JSON tidak menyokong komen. Jika anda memerlukan komen dalam fail konfigurasi, pertimbangkan untuk menggunakan JSONC (JSON dengan Komen) atau YAML.
6. Koma Hilang Antara Item
// SALAH - koma hilang antara "age" dan "city"
{"name": "John" "age": 30}
// BETUL
{"name": "John", "age": 30}
7. Aksara Khas Tidak Di-escape dalam Rentetan
Aksara seperti garis miring ke belakang, tanda petik berganda, baris baharu, dan tab dalam rentetan mesti di-escape.
// SALAH
{"path": "C:\Users\file.txt"}
// BETUL
{"path": "C:\Users\file.txt"}
8. Penggunaan Nombor Heksadesimal
JSON hanya menyokong nombor perpuluhan. Nilai heks seperti 0xFF tidak sah.
9. Sifar Mendahului dalam Nombor
Nombor seperti 007 atau 01 tidak sah dalam JSON. Gunakan 7 atau 1 sebagai gantinya.
10. Huruf Besar/Kecil Boolean/Null yang Salah
Boolean dan null mestilah huruf kecil: true, false, null. Nilai seperti True, FALSE, atau NULL tidak sah.
Cara terpantas untuk mengesan ralat ini? Tampal JSON anda ke dalam Pemformat & Pengesah JSON kami -- ia akan menyerlahkan baris dan aksara tepat di mana ralat berlaku.
Amalan Terbaik Pemformatan JSON
JSON yang diformat dengan baik bukan sekadar soal estetika -- ia memberi kesan langsung kepada kebolehbacaan, kelajuan penyahpepijatan, dan kualiti kerjasama.
Indentasi
Gunakan indentasi yang konsisten di seluruh JSON anda. Dua gaya paling biasa ialah:
- 2 ruang: Popular dalam ekosistem JavaScript/Node.js (panduan gaya Google)
- 4 ruang: Popular dalam ekosistem Python dan banyak standard korporat
- Tab: Kurang biasa tetapi disukai sesetengah pembangun untuk kebolehcapaian
Dalam JavaScript, anda boleh memformat JSON dengan indentasi pilihan anda menggunakan JSON.stringify(data, null, 2) di mana argumen ketiga ialah bilangan ruang.
Konvensyen Penamaan Kunci
- camelCase:
"firstName"-- paling popular dalam API JavaScript - snake_case:
"first_name"-- biasa dalam API Python dan Ruby - kebab-case:
"first-name"-- kurang biasa, digunakan dalam sesetengah API REST
Peraturan paling penting ialah konsistensi. Pilih satu konvensyen dan patuhi di seluruh API atau konfigurasi anda.
Diminifikan vs. Diformat
Gunakan JSON diminifikan (tanpa ruang putih) untuk API pengeluaran dan pemindahan data bagi meminimumkan lebar jalur. Gunakan JSON diformat (dengan indentasi) untuk fail konfigurasi, dokumentasi, penyahpepijatan, dan pengelogan.
JSON vs. XML vs. YAML: Bila Menggunakan Yang Mana
JSON bukan satu-satunya format data. Berikut perbandingannya dengan alternatif:
| Ciri | JSON | XML | YAML |
|---|---|---|---|
| Kebolehbacaan | Baik | Sederhana (bertele-tele) | Cemerlang |
| Saiz fail | Kecil | Besar (overhead tag) | Paling kecil |
| Komen | Tidak disokong | Disokong | Disokong |
| Jenis data | 6 jenis | Teks sahaja (perlukan skema) | Kaya (tarikh, dll.) |
| Pengesahan skema | JSON Schema | XSD, DTD | Terhad |
| Terbaik untuk | API, fail konfigurasi | Dokumen, API SOAP | Konfigurasi, CI/CD |
Gunakan JSON apabila: Membina API REST, aplikasi web, aplikasi mudah alih, atau sebarang senario di mana anda memerlukan pertukaran data yang ringan dan pantas.
Gunakan XML apabila: Bekerja dengan sistem warisan, API SOAP, format dokumen (seperti SVG, RSS), atau apabila anda memerlukan pengesahan skema yang kaya.
Gunakan YAML apabila: Menulis fail konfigurasi (Docker Compose, Kubernetes, GitHub Actions), di mana kebolehbacaan manusia dan komen menjadi keutamaan.
Perlu menukar antara format ini? Alat kami memudahkannya: JSON ke YAML, YAML ke JSON, dan Pemformat XML semuanya tersedia secara percuma.
Bekerja dengan JSON: Penukaran Praktikal
JSON ke CSV
Apabila anda perlu menganalisis data JSON dalam hamparan atau mengimportnya ke pangkalan data, menukar JSON ke CSV adalah penting. Ini terutamanya biasa apabila bekerja dengan data API yang perlu dikongsi dengan pihak berkepentingan bukan teknikal.
Penukar JSON ke CSV kami mengendalikan objek bersarang, tatasusunan, dan struktur data yang kompleks, meratakan mereka ke format CSV tabular. Ia mengesan pengepala lajur secara automatik daripada kunci JSON anda dan mengendalikan kes tepi seperti medan yang hilang dan nilai bersarang.
CSV ke JSON
Operasi terbalik -- menukar CSV ke JSON -- sama pentingnya. Apabila memindahkan data dari hamparan ke API atau pangkalan data, Penukar CSV ke JSON mengubah data tabular anda kepada tatasusunan JSON yang berstruktur dengan betul.
JSON ke YAML dan Sebaliknya
Bertukar antara JSON dan YAML adalah tugas harian bagi jurutera DevOps. Fail Docker Compose, manifes Kubernetes, dan saluran paip CI/CD menggunakan YAML, manakala API dan kod aplikasi menggunakan JSON. Penukar JSON ke YAML dan YAML ke JSON kami menjadikan peralihan ini lancar.
JSON dalam API: Pengendalian Permintaan dan Respons
Kebanyakan API moden berkomunikasi menggunakan JSON. Memahami cara menstruktur permintaan JSON dengan betul dan menghurai respons JSON adalah kritikal untuk pembangunan API.
Struktur Respons API Biasa
{
"status": "success",
"data": {
"users": [
{
"id": 1,
"name": "Alice",
"email": "[email protected]",
"role": "admin"
},
{
"id": 2,
"name": "Bob",
"email": "[email protected]",
"role": "user"
}
],
"pagination": {
"page": 1,
"perPage": 20,
"total": 150,
"totalPages": 8
}
},
"meta": {
"requestId": "abc-123-def",
"timestamp": "2026-02-22T10:30:00Z"
}
}
Amalan Terbaik untuk JSON API
- Sampul konsisten: Sentiasa bungkus respons dalam struktur standard dengan medan status, data, dan ralat
- Metadata penomboran: Sertakan halaman, had, jumlah keseluruhan, dan pautan navigasi untuk titik akhir senarai
- Respons ralat: Gunakan format ralat yang konsisten dengan medan kod, mesej, dan butiran
- Format tarikh: Gunakan format ISO 8601 (
2026-02-22T10:30:00Z) untuk semua nilai tarikh/masa - Pengendalian null: Sertakan medan dengan nilai
nulldan bukannya menghilangkannya untuk konsistensi
JSON Schema: Pengesahan Struktur Data
JSON Schema ialah perbendaharaan kata yang membolehkan anda menganotasi dan mengesahkan dokumen JSON. Ia mentakrifkan struktur, jenis, dan kekangan yang dijangka untuk data JSON anda.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"age": {
"type": "integer",
"minimum": 0,
"maximum": 150
},
"email": {
"type": "string",
"format": "email"
}
},
"required": ["name", "email"]
}
JSON Schema amat berharga untuk pengesahan kontrak API, pengesahan borang, pengesahan fail konfigurasi, dan ujian automatik. Kebanyakan bahasa pengaturcaraan mempunyai pustaka pengesahan JSON Schema.
Petua Prestasi: Bekerja dengan Fail JSON Besar
Apabila mengendalikan fail JSON yang besar (megabait atau lebih), prestasi menjadi kebimbangan:
- Penghurai penstriman: Daripada memuatkan keseluruhan JSON ke dalam memori, gunakan penghurai penstriman seperti
JSONStreamdalam Node.js atauijsondalam Python - Minifikan untuk pemindahan: Buang semua ruang putih sebelum menghantar JSON melalui rangkaian. Ini boleh mengurangkan saiz fail sebanyak 20-40%
- Pemampatan: Dayakan pemampatan gzip atau Brotli pada pelayan anda untuk respons JSON
- Penomboran: Daripada memulangkan beribu-ribu rekod dalam satu respons, laksanakan penomboran
- Pemilihan medan: Benarkan klien meminta hanya medan yang mereka perlukan (seperti yang dilakukan GraphQL)
Alat JSON yang Setiap Pembangun Patut Tahu
Selain Pemformat JSON, berikut adalah alat berkaitan yang melengkapkan kit alat JSON anda:
- Pemformat & Pengesah JSON -- Format, sahkan dan cantikkan JSON dengan penyerlahan sintaks
- Penukar JSON ke CSV -- Ubah data JSON ke format CSV mesra hamparan
- Penukar CSV ke JSON -- Tukar data CSV tabular kepada JSON berstruktur
- Penukar JSON ke YAML -- Tukar antara format JSON dan YAML
- Penukar YAML ke JSON -- Tukar konfigurasi YAML kepada JSON
- Pemapar Jadual JSON -- Papar data JSON dalam format jadual yang boleh disusun dan ditapis
- Pengekod/Penyahkod Base64 -- Ekod/nyahkod Base64, sering digunakan dengan muatan JSON
- Penukar Format Data -- Tukar antara pelbagai format data
Kesimpulan
JSON ialah teknologi asas yang setiap pembangun berinteraksi dengannya setiap hari. Menguasai sintaks JSON, memahami ralat biasa, mengikuti amalan terbaik pemformatan, dan mengetahui bila hendak menukar antara format akan menjadikan anda pembangun yang lebih cekap dan berkesan.
Perkara utama daripada panduan ini ialah: sentiasa sahkan JSON anda sebelum menggunakannya, kekalkan konvensyen pemformatan dan penamaan yang konsisten, pilih format yang betul (JSON, XML, atau YAML) untuk setiap kes penggunaan, dan manfaatkan alat dalam talian untuk menjimatkan masa dalam tugas pemformatan dan penukaran yang berulang.
Sama ada anda sedang menyahpepijat respons API yang rumit atau menyediakan fail konfigurasi untuk penggunaan, mempunyai pemformat JSON yang boleh dipercayai dalam kit alat anda amat berharga. Cuba Pemformat JSON percuma kami dan rasai perbezaan yang dibawa oleh alat yang tepat.
Cuba Pemformat JSON Percuma Kami
Format, sahkan dan cantikkan data JSON anda serta-merta. Pemprosesan 100% sisi pelanggan -- data anda tidak pernah meninggalkan pelayar anda.