Pembentuk JSON: Minikan & Perindahkan JSON Dalam Talian Percuma
Pembentuk JSON percuma untuk meminikan dan memperindahkan JSON serta-merta. Padatkan JSON, sahkan sintaks, dan cetak indah dengan pengindentasian yang betul. Alat penyemak pantas dan selamat.
Pembentuk JSON
Dokumentasi
Pemformat JSON: Minifikasikan dan Perelokkan JSON
Pemformat JSON ialah alat yang menulis semula teks JSON dalam susun atur yang berbeza tanpa mengubah data di dalamnya. Pemformat JSON ini melakukan dua perkara: ia meminifikasikan JSON dengan membuang ruang kosong tambahan, dan memformatkan JSON dengan menambah inden serta pemisah baris supaya mudah dibaca.
Apakah JSON?
JSON, singkatan bagi JavaScript Object Notation, ialah format teks untuk menyimpan dan menghantar data. Pelayan web menggunakannya untuk menghantar maklumat kepada aplikasi dan pelayar. Program menggunakannya untuk fail tetapan. JSON menyimpan data sebagai objek, yang ditulis dengan pendakap keriting {}, dan tatasusunan, yang ditulis dengan kurungan siku []. Di dalam objek, setiap bahagian data mempunyai nama, yang dipanggil kunci, dan nilai. Nilai boleh berupa rentetan, nombor, true, false, null, atau objek atau tatasusunan lain.
Objek JSON kecil kelihatan seperti ini:
1{
2 "name": "John Doe",
3 "age": 30,
4 "isEmployee": true
5}
6Cara pemformat JSON ini berfungsi
Sesetengah alat JSON membaca teks ke dalam struktur data bahasa pengaturcaraan itu sendiri, kemudian menulis struktur tersebut semula sebagai teks. Proses pergi balik itu boleh mengubah data. Ia boleh menulis semula nombor yang sangat besar, menggugurkan nombor yang terlalu besar untuk diwakili, dan menyusun semula kunci dalam objek.
Alat ini mengelakkan perkara tersebut. Ia membaca masukan aksara demi aksara dan menyemak sama ada input tersebut mematuhi tatabahasa JSON. Apabila menulis semula hasil, alat ini menyalin setiap nombor dan setiap rentetan tepat seperti yang ditaip, dalam susunan yang sama. Meminimumkan atau mencantikkan dokumen tidak pernah mengubah nombor, kunci, susunan kunci atau kunci pendua.
Jika teks itu bukan JSON yang sah, alat ini berhenti dan memaparkan ralat, bukannya meneka maksudnya.
Pemformatan berlaku dalam pelayar. Alat ini tidak menghantar teks yang ditampal ke pelayan. Masukan ditambahkan pada alamat web halaman sebagai parameter pertanyaan, supaya dokumen yang telah diformatkan boleh dikongsi atau ditanda halaman dengan pautan.
Cara meminimumkan JSON
- Tampal JSON ke dalam kotak masukan.
- Klik "Minimumkan."
- Alat ini membuang ruang, tab dan pemisah baris antara token, kemudian memaparkan hasil di bawah.
- Klik "Salin" di atas hasil untuk menyalinnya.
Contoh pengiraan
Sebelum:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Selepas:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Formula minifikasi JSON
Ruang yang dijimatkan melalui minifikasi boleh ditulis sebagai:
Untuk contoh di atas, versi yang telah diformat ialah 98 bait dan versi yang diminifikasikan ialah 67 bait:
Jumlah penjimatan sebenar bergantung pada banyaknya ruang kosong dan inden dalam dokumen asal. Dokumen dengan penyusunan bersarang yang dalam dan inden 4 ruang mengecil lebih banyak berbanding dokumen yang sememangnya padat.
Cara memformatkan JSON
- Tampal JSON ke dalam kotak masukan. JSON itu boleh jadi sudah diminimumkan atau diformatkan dengan tidak kemas.
- Klik "Cantikkan."
- Alat ini menambah inden 2 ruang, satu pemisah baris bagi setiap kunci atau item tatasusunan, serta satu ruang selepas setiap titik bertindih.
- Klik "Salin" di atas hasil untuk menyalinnya.
Contoh pengiraan
Sebelum:
1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2Selepas:
1{
2 "name": "John Smith",
3 "age": 32,
4 "skills": [
5 "JavaScript",
6 "HTML",
7 "CSS"
8 ]
9}
10Objek atau tatasusunan kosong kekal pada satu baris, sebagai {} atau [], dan bukannya dipecahkan kepada tiga baris.
Ralat JSON lazim yang dikesan oleh alat ini
JSON mempunyai tatabahasa yang ketat, lebih ketat daripada bahasa pengaturcaraan biasa. Alat ini menolak teks yang melanggar mana-mana peraturan berikut dan memaparkan mesej "JSON Tidak Sah" dan bukannya hasil:
- Koma yang tiada antara dua nilai.
- Koma di hujung selepas item terakhir dalam objek atau tatasusunan (tidak dibenarkan dalam JSON, tidak seperti dalam JavaScript).
- Kunci yang tidak diapit tanda petikan berganda.
- Tanda petikan tunggal di sekeliling rentetan dan bukannya tanda petikan berganda.
- Kurungan siku dan pendakap yang tidak sepadan atau tiada.
- Urutan pelepasan yang tidak sah atau tidak lengkap di dalam rentetan, seperti tanda garis condong terbalik tunggal.
- Aksara kawalan, seperti pemisah baris atau tab sebenar, yang ditaip di dalam rentetan dan bukannya ditulis sebagai
\natau\t. - Nombor dalam bentuk yang tidak dibenarkan oleh JSON, seperti sifar di hadapan (
01), titik perpuluhan di hujung (1.), atau tanda tambah di hadapan (+1).
JSON juga tidak mempunyai sintaks untuk komen. Teks yang bermula dengan // atau /* bukan sebahagian daripada tatabahasa JSON, jadi menampal JSON yang mengandungi komen menghasilkan ralat "JSON Tidak Sah", bukannya JSON yang komennya dibuang secara senyap. Untuk memformatkan fail sedemikian, buang komen terlebih dahulu.
Kegunaan pemformat JSON
- Pembangunan web: membaca respons API semasa penyahpepijatan dan meminimumkan fail konfigurasi sebelum penggunaan.
- Pembangunan API: menyemak bahawa badan permintaan atau respons ialah JSON yang terbentuk dengan betul.
- Analisis data: menukar eksport JSON yang padat kepada susun atur yang mudah dibaca untuk pemeriksaan.
- Fail konfigurasi: mencantikkan fail konfigurasi sebelum mengeditnya secara manual, kemudian meminimumkannya semula selepas itu.
Alternatif
Penyunting kod seperti Visual Studio Code boleh memformatkan fail JSON tanpa meninggalkan penyunting. Alat baris perintah seperti jq boleh memformatkan dan menapis JSON sebagai sebahagian daripada skrip. Bahasa pengaturcaraan juga menyediakan pustaka JSON, seperti modul json Python atau objek terbina dalam JSON JavaScript, yang digunakan oleh kebanyakan program untuk menghuraikan JSON ke dalam struktur data masing-masing. Pemformat dalam talian seperti ini berguna apabila pemeriksaan ringkas sekali-sekala diperlukan tanpa memasang apa-apa.
Sejarah JSON
Douglas Crockford menetapkan JSON pada awal 2000-an, berdasarkan cara JavaScript menulis literal objek, tetapi mereka bentuknya supaya boleh dibaca dan ditulis oleh mana-mana bahasa pengaturcaraan. Format ini mula didokumentasikan kepada umum sekitar 2001 dan kemudiannya distandardkan sebagai RFC 4627 pada (11,800 cm) 2006, sebagai ECMA-404 pada (1,030 cm) 2013, dan sebagai RFC 8259 pada (21,000 cm) 2017. Apabila API web berkembang sepanjang 2000-an, JSON menggantikan XML sebagai format yang paling biasa untuk menghantar data antara pelayan dan pelayar, terutamanya kerana JSON lebih ringkas dan dipetakan secara langsung kepada struktur data yang sudah terbina dalam JavaScript. Alat pemformatan dan pengesahan muncul kemudian apabila dokumen JSON menjadi lebih besar dan lebih bersarang.
Soalan lazim
Adakah minifikasi membuang komen daripada JSON?
Tidak. JSON tidak mempunyai sintaks komen, dan alat ini tidak menambahnya. Jika masukan mengandungi komen gaya // atau /*, alat ini melaporkan ralat "JSON Tidak Sah" dan bukannya memformatkannya. Buang komen sebelum menampal teks.
Adakah pemformatan mengubah nombor atau susunan kunci saya? Tidak. Alat ini menyalin setiap nombor dan rentetan tepat seperti yang ditulis serta mengekalkan kunci dalam susunan asalnya, termasuk kunci pendua jika ada.
Apakah inden yang digunakan oleh pemformat? Dua ruang bagi setiap tahap penyusunan bersarang, dengan satu ruang selepas setiap titik bertindih.
Adakah data JSON saya dihantar ke pelayan?
Tidak. Pemformatan dijalankan dalam pelayar. Teks yang ditampal disalin ke dalam URL halaman sebagai parameter pertanyaan json, supaya halaman itu boleh dikongsi atau ditanda halaman. Tiada apa-apa yang dimuat naik.
Adakah terdapat had saiz? Tiada had tetap, tetapi keseluruhan dokumen disimpan dalam memori semasa dihuraikan, jadi fail yang sangat besar (banyak megabait) mungkin lambat pada peranti lama.
Adakah JSON yang tidak sah hanya akan dibaiki sebahagiannya? Tidak. Jika masukan melanggar tatabahasa JSON di mana-mana bahagian, alat ini memaparkan ralat dan bukannya mengembalikan hasil separa atau hasil yang diteka.
Rujukan
- "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
- Bray, T., penyunting. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, Disember 2017, https://www.rfc-editor.org/rfc/rfc8259.
- "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
- "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.