Apa Itu JSON? Panduan Ringkas dengan Contoh
JSON (JavaScript Object Notation) ialah format teks ringkas untuk menulis data berstruktur — perkara seperti pelanggan, pesanan atau senarai produk — sebagai pasangan nama dengan nilai. Ia mudah dibaca oleh manusia dan mudah dihasilkan serta dihuraikan oleh program. Apabila aplikasi dan perkhidmatan bertukar data melalui web, JSON jauh menjadi format yang paling lazim.
Mengapa JSON penting apabila membina dengan AI
Anda akan kerap berjumpa JSON, walaupun anda tidak pernah menulis kod:
- API. Apabila skrin aplikasi anda memuatkan data daripada bahagian belakangnya, atau bahagian belakang anda memanggil perkhidmatan pembayaran, e-mel atau AI, data biasanya bergerak sebagai JSON. Lihat apa itu API.
- Fail tetapan. Banyak fail konfigurasi projek ialah JSON — contohnya
package.json, yang menyenaraikan kebergantungan projek JavaScript. - Pangkalan data. Postgres boleh menyimpan JSON dalam satu lajur (jenis
jsonb) untuk data yang tidak sesuai dengan baris dan lajur yang kemas. Lihat apa itu Postgres. - Output AI. Apabila anda mahu model AI memulangkan sesuatu yang boleh digunakan oleh program — senarai tag, medan invois yang diekstrak — anda biasanya meminta JSON.
- Mesej ralat dan log. Banyak ralat tiba dalam bentuk JSON, dan membacanya selalunya cara terpantas untuk mengetahui apa yang tidak kena.
Keupayaan membaca JSON membolehkan anda menyemak apa yang sebenarnya diterima oleh aplikasi anda, mengesan medan yang hilang dan menerangkan masalah dengan tepat kepada pembina AI anda.
Analogi harian
Bayangkan borang kertas: Nama: ____, Telefon: ____, Surat berita: ☐ ya ☐ tidak. Setiap entri ialah label dengan nilai di sebelahnya. JSON ialah borang itu ditulis sebagai teks, dalam susun atur yang ketat yang boleh dibaca komputer tanpa meneka. Dan seperti borang, JSON boleh mempunyai bahagian di dalam bahagian (blok alamat dengan jalan, bandar dan poskod) serta senarai (beberapa nombor telefon).
Rupa JSON
Berikut ialah satu tempahan dalam JSON:
{
"id": 5001,
"customer": "Lena Park",
"service": "Haircut",
"startsAt": "2026-10-03T14:00:00Z",
"price": 35.5,
"paid": false,
"notes": null,
"extras": ["beard trim", "hot towel"],
"contact": {
"email": "lena@example.com",
"phone": "+44 20 7946 0000"
}
}
Cara membacanya:
- Kurungan kerinting
{ }membungkus objek — satu set pasangan nama/nilai. - Setiap pasangan ialah
"nama": nilai, dipisahkan dengan koma. - Kurungan segi empat
[ ]membungkus tatasusunan — senarai tertib. - Objek dan tatasusunan boleh berada di dalam satu sama lain, seperti
contactdanextras.
Enam jenis nilai
JSON hanya mempunyai enam jenis nilai. Senarai kecil itulah sebahagian besar sebab ia berfungsi di mana-mana.
| Jenis | Contoh | Nota |
|---|---|---|
| Rentetan (teks) | "Lena Park" | Sentiasa tanda petikan berganda |
| Nombor | 35.5, -2, 1e6 | Tiada tanda petikan; tiada simbol mata wang |
| Boolean | true, false | Huruf kecil, tanpa tanda petikan |
| Null | null | “Tiada nilai” |
| Objek | { "city": "Leeds" } | Nilai bernama |
| Tatasusunan | [1, 2, 3] | Senarai tertib; item boleh terdiri daripada mana-mana jenis |
Tiada jenis tarikh. Tarikh ditulis sebagai rentetan, biasanya dalam format ISO 8601 seperti yang ditunjukkan di atas (2026-10-03T14:00:00Z, dengan Z bermaksud UTC). Bersetuju pada format itu mengelakkan satu kategori pepijat zon waktu.
Peraturan ketat (di sinilah ralat berpunca)
JSON kurang bertolak ansur daripada yang kelihatan. Semua ini tidak sah:
{ name: "Lena" } ← kunci tanpa tanda petikan berganda
{ 'name': 'Lena' } ← tanda petikan tunggal
{ "a": 1, "b": 2, } ← koma di hujung
{ "a": 1 "b": 2 } ← koma yang hilang
{ "a": 1 // comment } ← komen tidak dibenarkan
Kebanyakan ralat “Unexpected token” yang anda lihat ialah salah satu daripada ini. Pengesah atau pemformat JSON akan menunjukkan baris tepat.
Contoh kerja: JSON melalui aplikasi
Seorang pelanggan menempah potongan rambut dalam aplikasi salun. Inilah tempat JSON muncul:
- Borang tempahan menghantar ini ke bahagian belakang aplikasi:
{ "service": "Haircut", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- Bahagian belakang menyimpan tempahan dalam pangkalan data dan membalas dengan status
201 Createdserta:
{ "id": 5001, "status": "confirmed" }
- Jika masa itu sudah ditempah, ia mungkin membalas dengan status
409 Conflictdan:
{ "error": "slot_taken", "message": "That time was just booked. Please pick another." }
Halaman membaca status atau error dan memaparkan mesej yang betul. Jika halaman sebaliknya menunjukkan skrin kosong, membuka alat pembangun pelayar (tab Network) akan menunjukkan JSON ini — selalunya petunjuk terpantas tentang apa yang tidak kena.
Istilah utama
| Istilah | Maksud |
|---|---|
| Kunci (key) | Nama dalam pasangan nama/nilai, seperti "email". |
| Huraikan (parse) | Menukar teks JSON kepada data yang boleh digunakan program. |
| Serialisasi / stringify | Menukar data kepada teks JSON untuk dihantar atau disimpan. |
| Muatan (payload) | Data yang dihantar dalam permintaan atau respons. |
| Skema (schema) | Penerangan tentang bentuk data yang sepatutnya — medan mana, jenis apa. JSON Schema ialah cara piawai untuk menulisnya. |
| JSONB | Jenis lajur JSON binari Postgres, yang boleh diindeks dan ditanya. |
| NDJSON / JSON Lines | Satu objek JSON setiap baris, lazim untuk log dan penstriman. |
Salah faham lazim
- “JSON ialah JavaScript.” Ia berasal daripada sintaks JavaScript, tetapi ia tidak bergantung pada bahasa; Python, Java, C#, Go dan lain-lain semuanya membacanya.
- “Nombor dalam tanda petikan tidak mengapa.”
"35"ialah rentetan, bukan nombor. Mencampurkannya menyebabkan pepijat seperti"35" + "5"menjadi"355". Wang selalunya lebih baik disimpan sebagai sen bulat (3550) untuk mengelakkan isu pembundaran. - “JSON selamat kerana ia hanya data.” JSON boleh membawa apa sahaja, termasuk rahsia. Jangan letakkan kunci API dalam JSON yang dihantar ke pelayar.
- “Letakkan semuanya dalam lajur JSON.” Ia berguna untuk tambahan yang fleksibel, tetapi data yang anda cari, tapis atau gabungkan biasanya patut berada dalam lajur yang betul.
- “AI sentiasa memulangkan JSON yang sah.” Model boleh menambah teks tambahan atau merosakkan format. Ramai pembekal menawarkan mod output berstruktur; kod anda tetap perlu menyemak apa yang diterima.
Apa yang perlu diminta kepada pembina AI anda
- “Tunjukkan contoh JSON yang dipulangkan oleh titik akhir ini.”
- “Pulangkan ralat sebagai JSON dengan kod
errordan mesejmessageyang boleh dibaca manusia.” - “Simpan tarikh sebagai rentetan ISO 8601 dalam UTC dan tukar kepada waktu tempatan hanya pada skrin.”
- “Simpan harga sebagai sen integer.”
- “Sahkan JSON yang masuk di pelayan dan tolak permintaan yang medannya hilang atau jenisnya salah.”
- “Apabila memanggil model AI, minta JSON dalam bentuk yang tepat ini dan semaknya sebelum digunakan.”
JSON dalam Mythex
Anda tidak perlu menulis JSON dengan tangan dalam Mythex — anda menerangkan apa yang anda mahu dan ejen menulis kod yang menghantar serta membacanya. Walau bagaimanapun, berguna untuk mengenalinya: apabila sesuatu rosak, menampal ralat JSON ke dalam sembang memberi ejen petunjuk yang tepat. Resipi bahagian belakang REST API dalam dokumentasi meminta “ralat JSON yang jelas” dari awal, dan resipi integrasi mana-mana API merangkumi panggilan ke perkhidmatan luar. Untuk gambaran yang lebih luas, lihat REST vs GraphQL dan cara menyahpepijat aplikasi yang dibina AI.
Soalan lazim
Apakah JSON dalam istilah mudah?
JSON (JavaScript Object Notation) ialah format teks biasa untuk menulis data berstruktur sebagai nama dan nilai, seperti “name”: “Lena”. Hampir setiap API web menggunakannya untuk menghantar data bolak-balik, dan ramai aplikasi menggunakannya untuk tetapan serta data tersimpan.
Adakah JSON ialah bahasa pengaturcaraan?
Tidak. JSON ialah format data, bukan bahasa. Ia tidak boleh melakukan apa-apa dengan sendirinya — ia hanya menerangkan data. Walaupun ia berasal daripada JavaScript, hampir semua bahasa pengaturcaraan boleh membacanya dan menulisnya.
Apakah perbezaan antara JSON dan objek JavaScript?
Ia kelihatan serupa, tetapi JSON lebih ketat. Dalam JSON setiap kunci mesti berada dalam tanda petikan berganda, rentetan menggunakan tanda petikan berganda, tiada komen, tiada koma di hujung, dan nilai terhad kepada rentetan, nombor, true, false, null, objek dan tatasusunan.
Mengapa JSON saya dikatakan tidak sah?
Punca yang biasa ialah koma di hujung item terakhir, tanda petikan tunggal dan bukannya berganda, koma yang hilang antara item, kurungan yang tidak ditutup, atau komen. Tampalkannya ke dalam pengesah JSON dan ia akan menunjukkan baris yang bermasalah.