Lewati ke konten

Pemformat JSON: Minifikasi & Memperindah JSON Secara Daring Gratis

Pemformat JSON gratis untuk meminifikasi dan memperindah JSON secara instan. Kompres JSON, validasi sintaks, dan cetak rapi dengan indentasi yang tepat. Alat berbasis peramban yang cepat dan aman.

Pemformat JSON

Kalkulator pemuatan...
📚

Dokumentasi

Pemformat JSON: Minifikasi dan Beautifikasi JSON

Pemformat JSON adalah alat yang menyusun ulang teks JSON ke dalam tata letak yang berbeda tanpa mengubah data di dalamnya. Pemformat JSON ini melakukan dua hal: meminifikasi JSON dengan menghapus spasi kosong tambahan, dan mempercantik JSON dengan menambahkan indentasi serta jeda baris agar dapat dibaca.

Apa itu JSON?

JSON, singkatan dari JavaScript Object Notation, adalah format teks untuk menyimpan dan mengirim data. Server web menggunakannya untuk mengirim informasi ke aplikasi dan browser. Program menggunakannya untuk berkas pengaturan. JSON menyimpan data sebagai objek, yang ditulis dengan kurung kurawal {}, dan array, yang ditulis dengan kurung siku []. Di dalam objek, setiap bagian data memiliki nama yang disebut kunci, dan sebuah nilai. Nilai dapat berupa string, angka, true, false, null, atau objek maupun array lain.

Objek JSON kecil terlihat seperti ini:

1{
2  "name": "John Doe",
3  "age": 30,
4  "isEmployee": true
5}
6

Cara kerja pemformat JSON ini

Beberapa alat JSON membaca teks ke dalam struktur data milik bahasa pemrograman, lalu menulis kembali struktur tersebut sebagai teks. Proses bolak-balik ini dapat mengubah data. Proses tersebut dapat menulis ulang angka yang sangat besar, menghilangkan angka yang terlalu besar untuk direpresentasikan, dan mengurutkan ulang kunci dalam objek.

Alat ini menghindari hal tersebut. Alat ini membaca input karakter demi karakter dan memeriksa apakah input mengikuti tata bahasa JSON. Saat menulis ulang output, alat ini menyalin setiap angka dan setiap string persis seperti saat diketik, dalam urutan yang sama. Meminifikasi atau mempercantik dokumen tidak pernah mengubah angka, kunci, urutan kunci, atau kunci duplikat.

Jika teks bukan JSON yang valid, alat ini berhenti dan menampilkan kesalahan, bukan menebak maksudnya.

Pemformatan berlangsung di browser. Alat ini tidak mengirim teks yang ditempelkan ke server. Input ditambahkan ke alamat web halaman sebagai parameter kueri, sehingga dokumen yang telah diformat dapat dibagikan atau ditandai dengan bookmark melalui tautan.

Cara meminifikasi JSON

  1. Tempelkan JSON ke kotak input.
  2. Klik "Minify."
  3. Alat ini menghapus spasi, tab, dan jeda baris di antara token, lalu menampilkan hasilnya di bawah.
  4. Klik "Copy" di atas hasil untuk menyalinnya.

Contoh perhitungan

Sebelum:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Sesudah:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Rumus minifikasi JSON

Ruang yang dihemat dengan minifikasi dapat ditulis sebagai:

Ruang yang dihemat=(1−Ukuran setelah minifikasiUkuran asli)×100%\text{Ruang yang dihemat} = \left(1 - \frac{\text{Ukuran setelah minifikasi}}{\text{Ukuran asli}}\right) \times 100\%

Untuk contoh di atas, versi terformat berukuran 98 byte dan versi setelah minifikasi berukuran 67 byte:

(1−6798)×100%≈32%\left(1 - \frac{67}{98}\right) \times 100\% \approx 32\%

Penghematan yang tepat bergantung pada jumlah spasi kosong dan indentasi dalam dokumen asli. Dokumen dengan struktur bertingkat yang dalam dan indentasi 4 spasi menyusut lebih banyak daripada dokumen yang sejak awal sudah ringkas.

Cara mempercantik JSON

  1. Tempelkan JSON ke kotak input. JSON tersebut dapat sudah diminifikasi atau memiliki format yang berantakan.
  2. Klik "Beautify."
  3. Alat ini menambahkan indentasi 2 spasi, satu jeda baris untuk setiap kunci atau item array, dan satu spasi setelah setiap titik dua.
  4. Klik "Copy" di atas hasil untuk menyalinnya.

Contoh perhitungan

Sebelum:

1{"name":"John Smith","age":32,"skills":["JavaScript","HTML","CSS"]}
2

Sesudah:

1{
2  "name": "John Smith",
3  "age": 32,
4  "skills": [
5    "JavaScript",
6    "HTML",
7    "CSS"
8  ]
9}
10

Objek atau array kosong tetap berada dalam satu baris, seperti {} atau [], bukan dipisah menjadi tiga baris.

Kesalahan JSON umum yang ditangkap alat ini

JSON memiliki tata bahasa yang ketat, lebih ketat daripada bahasa pemrograman pada umumnya. Alat ini menolak teks yang melanggar salah satu aturan berikut dan menampilkan pesan "Invalid JSON", bukan hasil:

  • Koma yang hilang di antara dua nilai.
  • Koma tambahan setelah item terakhir dalam objek atau array (tidak diizinkan dalam JSON, berbeda dengan JavaScript).
  • Kunci yang tidak diapit tanda kutip ganda.
  • Tanda kutip tunggal di sekitar string, bukan tanda kutip ganda.
  • Kurung siku dan kurung kurawal yang tidak berpasangan atau hilang.
  • Urutan escape yang tidak valid atau tidak lengkap di dalam string, seperti garis miring terbalik tunggal.
  • Karakter kontrol, seperti jeda baris atau tab sebenarnya, yang diketik di dalam string, bukan ditulis sebagai \n atau \t.
  • Angka dalam bentuk yang tidak diizinkan JSON, seperti angka nol di awal (01), titik desimal di akhir (1.), atau tanda plus di awal (+1).

JSON juga tidak memiliki sintaks untuk komentar. Teks yang diawali // atau /* bukan bagian dari tata bahasa JSON, sehingga menempelkan JSON yang berisi komentar menghasilkan kesalahan "Invalid JSON", bukan JSON dengan komentar yang diam-diam dihapus. Untuk memformat berkas seperti itu, hapus komentar terlebih dahulu.

Kegunaan pemformat JSON

  • Pengembangan web: membaca respons API saat melakukan debug dan meminifikasi berkas konfigurasi sebelum penerapan.
  • Pengembangan API: memeriksa apakah isi permintaan atau respons merupakan JSON yang valid.
  • Analisis data: mengubah ekspor JSON yang ringkas menjadi tata letak yang mudah dibaca untuk diperiksa.
  • Berkas konfigurasi: mempercantik berkas konfigurasi sebelum mengeditnya secara manual, lalu meminifikasinya kembali setelah selesai.

Alternatif

Editor kode seperti Visual Studio Code dapat memformat berkas JSON tanpa harus keluar dari editor. Alat baris perintah seperti jq dapat memformat dan memfilter JSON sebagai bagian dari skrip. Bahasa pemrograman juga menyediakan pustaka JSON, seperti modul json milik Python atau objek bawaan JSON milik JavaScript, yang digunakan sebagian besar program untuk mengurai JSON ke dalam struktur datanya sendiri. Pemformat daring seperti ini berguna saat diperlukan pemeriksaan cepat satu kali tanpa memasang apa pun.

Sejarah JSON

Douglas Crockford menetapkan JSON pada awal dekade 2000-an, berdasarkan cara JavaScript menulis literal objek, tetapi merancangnya agar dapat dibaca dan ditulis oleh bahasa pemrograman apa pun. Format ini pertama kali didokumentasikan secara publik sekitar 2001, lalu distandardisasi 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. Seiring API web berkembang sepanjang dekade 2000-an, JSON menggantikan XML sebagai format yang paling umum untuk mengirim data antara server dan browser, terutama karena JSON lebih singkat dan langsung dipetakan ke struktur data yang sudah tersedia di JavaScript. Alat pemformatan dan validasi muncul setelah dokumen JSON menjadi lebih besar dan memiliki lebih banyak tingkatan.

Pertanyaan yang sering diajukan

Apakah minifikasi menghapus komentar dari JSON? Tidak. JSON tidak memiliki sintaks komentar, dan alat ini tidak menambahkannya. Jika input berisi komentar bergaya // atau /*, alat ini melaporkan kesalahan "Invalid JSON", bukan memformatnya. Hapus komentar sebelum menempelkan teks.

Apakah pemformatan mengubah angka atau urutan kunci saya? Tidak. Alat ini menyalin setiap angka dan string persis seperti yang ditulis serta mempertahankan kunci dalam urutan aslinya, termasuk kunci duplikat jika ada.

Indentasi apa yang digunakan oleh pemformat? Dua spasi untuk setiap tingkat struktur, dengan satu spasi setelah setiap titik dua.

Apakah data JSON saya dikirim ke server? Tidak. Pemformatan berjalan di browser. Teks yang ditempelkan disalin ke URL halaman sebagai parameter kueri json, sehingga halaman dapat dibagikan atau ditandai dengan bookmark. Tidak ada yang diunggah.

Apakah ada batas ukuran? Tidak ada batas tetap, tetapi seluruh dokumen disimpan di memori saat diurai, sehingga berkas yang sangat besar (berukuran banyak megabita) mungkin lambat pada perangkat lama.

Apakah JSON yang tidak valid akan diperbaiki sebagian saja? Tidak. Jika input melanggar tata bahasa JSON di bagian mana pun, alat ini menampilkan kesalahan, bukan mengembalikan hasil sebagian atau hasil tebakan.

Referensi

  1. "Introducing JSON." JSON.org, https://www.json.org/json-en.html.
  2. Bray, T., ed. "The JavaScript Object Notation (JSON) Data Interchange Format." RFC 8259, IETF, Desember 2017, https://www.rfc-editor.org/rfc/rfc8259.
  3. "ECMA-404: The JSON Data Interchange Syntax." Ecma International, https://www.ecma-international.org/publications-and-standards/standards/ecma-404/.
  4. "JSON." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON.