Validator & pemercantik JSON

Validasi dan percantik konten JSON Anda dengan alat validator dan pemercantik JSON kami untuk data JSON yang bersih dan mudah dibaca.

5 dari 2 penilaian
Validator & pemercantik JSON

Validator & pemercantik JSON adalah alat gratis untuk memeriksa apakah sintaks JSON valid dan memformat konten yang valid agar strukturnya lebih mudah dibaca.

Apa fungsi validasi dan pemercantikan JSON?

Validasi JSON memastikan masukan mengikuti tata bahasa JSON, sedangkan pemercantikan menampilkan objek dan array yang valid dengan spasi serta indentasi yang konsisten. Ini berguna saat men-debug respons API, memeriksa konfigurasi sebelum penerapan, atau membaca data ringkas dari pihak ketiga.

Sintaks JSON lebih ketat daripada literal objek JavaScript. Nama properti harus memakai tanda petik ganda, string tidak boleh memakai tanda petik tunggal, dan objek maupun array tidak boleh memiliki koma di bagian akhir. Komentar, undefined, NaN, dan Infinity juga tidak termasuk dalam spesifikasi JSON.

Alat ini menggunakan fungsi json_decode milik PHP di server. Masukanmu dikirim ke server melalui HTTPS dan tidak disimpan. Karena data tetap meninggalkan perangkatmu, hapus kata sandi, token akses, dan data pribadi jika aturan penanganan data di organisasimu tidak mengizinkan pengiriman informasi tersebut ke server eksternal.

Bagaimana cara memvalidasi dan mempercantik JSON?

Tempelkan konten ke kolom JSON, lalu jalankan alat. Agar hasilnya berguna, masukkan satu nilai JSON yang lengkap, bukan potongan objek yang disalin dari satu baris log.

  1. Salin respons mentah, blok konfigurasi, atau nilai JSON lainnya tanpa label konsol yang mengapitnya.
  2. Tempelkan ke kolom JSON dengan tetap mempertahankan tanda petik dan karakter escape.
  3. Jalankan validasi, lalu periksa hasil yang telah diformat atau pesan kegagalan yang ditampilkan.
  4. Jika validasi gagal, perbaiki masalah sintaks pertama yang terlihat, lalu jalankan kembali. Satu tanda petik yang hilang dapat membuat beberapa karakter setelahnya ditafsirkan secara keliru.
Alat Validator & pemercantik JSON di digily.link beserta formulir inputnya

Empat karakter spasi kosong yang diizinkan di antara token JSON, yaitu spasi (U+0020), tab (U+0009), line feed (U+000A), dan carriage return (U+000D), tidak memengaruhi data. Karakter tersebut dapat ditambahkan atau dihapus tanpa mengubah data. Namun, spasi kosong di dalam string yang diapit tanda petik merupakan bagian dari data dan tidak boleh diubah. Tanda baca di dalam string juga dipertahankan, meskipun tanda petik, garis miring terbalik, dan karakter kontrol memerlukan urutan escape yang sesuai.

Bagaimana cara membaca hasil validasi?

Hasil yang berhasil berarti PHP dapat mendekode masukan sebagai JSON. Jika gagal, parser tidak dapat menafsirkannya sebagai satu nilai JSON lengkap yang valid. Proses pemercantikan kemudian memperjelas susunan bertingkat dan batas setiap objek serta array yang valid.

Beberapa penyebab kegagalan yang umum meliputi:

  • koma di bagian akhir sebelum } atau ];
  • nama properti tanpa tanda petik, seperti {name: "Ada"};
  • string yang memakai tanda petik tunggal;
  • koma yang hilang di antara properti atau elemen array;
  • tanda petik ganda atau garis miring terbalik yang tidak di-escape di dalam string;
  • objek, array, atau string yang tidak lengkap;
  • masukan UTF-8 yang tidak valid atau karakter kontrol mentah di dalam string;
  • bagian bilangan bulat dengan angka nol di depan yang tidak diperlukan, seperti 01 atau -01, atau nilai yang bukan bagian dari JSON, seperti NaN.

Kolom kosong bukan JSON yang valid. Sebaliknya, nilai tunggal seperti 42, true, null, atau "hello" tetap merupakan JSON yang valid meskipun bukan objek atau array. Konten dengan tingkat susunan yang sangat dalam juga dapat melampaui batas kedalaman dekoder.

Validasi sintaks tidak memastikan bahwa data sesuai dengan kontrak API. Dokumen dapat berupa JSON yang valid, tetapi berisi string ketika aplikasi mengharapkan angka, tidak menyertakan properti wajib, atau menggunakan format tanggal yang tidak diterima. Gunakan JSON Schema atau pemeriksaan di tingkat aplikasi untuk memvalidasi persyaratan tersebut.

Contoh hasil yang dihasilkan alat Validator & pemercantik JSON

Contoh penggunaan JSON

Masukan ringkas yang valid:

{"name":"Ada","active":true,"roles":["admin","editor"]}

Hasil yang dipercantik menampilkan properti dan elemen array pada tingkat terpisah dengan indentasi. Nilainya tetap berupa string, Boolean, dan array. Pemformatan hanya mengubah tampilannya, bukan tipe data yang mendasarinya.

Masukan tidak valid dengan koma di bagian akhir:

{"name":"Ada","active":true,}

Validasi gagal karena JSON tidak mengizinkan koma setelah properti terakhir. Hapus koma tersebut agar objek menjadi valid.

Karakter beraksen dan teks non-Latin dapat ditulis langsung dalam string JSON selama masukannya menggunakan UTF-8 yang valid. Contohnya, {"city":"Zürich","greeting":"こんにちは"} adalah JSON yang valid. Notasi escape JSON seperti \u00fc juga merupakan representasi valid untuk karakter Unicode tertentu, meskipun karakter di luar Basic Multilingual Plane memerlukan pasangan surrogate.

Kapan JSON tidak perlu dipercantik?

Pemercantikan tidak diperlukan jika JSON hanya akan dibaca oleh mesin dan tidak akan diperiksa manusia atau ditinjau melalui kontrol versi. Indentasi dan jeda baris tambahan memperbesar jumlah byte yang dikirim, sehingga respons produksi umumnya dikirim dalam bentuk ringkas.

Memampatkan JSON yang sudah ringkas juga tidak banyak gunanya. Pemampatan berulang tidak dapat memperpendek nama properti atau nilai string yang tetap, sedangkan mengubah nilai tersebut akan mengubah datanya. Untuk JavaScript yang akan diterapkan, bukan data JSON, JS pemampat lebih sesuai digunakan.

Pemercantikan paling berguna saat memeriksa struktur atau nilai JSON dalam proses debugging, peninjauan kode, dan pemeriksaan sebelum penerapan. Pemformatan ini memperjelas susunan bertingkat yang tidak cocok, memudahkan penelusuran array besar, dan menghasilkan diff yang lebih rapi saat konfigurasi dimasukkan ke Git. Alat ini tidak memperbaiki JSON yang salah format secara otomatis ataupun menentukan maksud dari potongan data yang ambigu.

Pertanyaan umum

Apakah JSON bisa berisi komentar?

Tidak. JSON standar tidak memiliki sintaks komentar, sehingga // comment dan /* comment */ akan membuat validasi gagal. Jika file konfigurasi memerlukan komentar, gunakan format yang mendukungnya atau hapus komentar sebelum meneruskan konten ke parser JSON yang ketat.

Apakah nama properti yang sama akan ditolak?

Belum tentu. Spesifikasi JSON menyatakan bahwa nama anggota dalam suatu objek seharusnya unik, tetapi parser tidak selalu menganggap nama duplikat sebagai kesalahan sintaks. Dekoder PHP umumnya mempertahankan nilai yang muncul belakangan. Jadi, jika setiap kemunculan perlu dipertahankan, deteksi duplikat sebelum validasi.

Bisakah saya memvalidasi file JSON Lines?

Tidak sebagai satu dokumen JSON. JSON Lines, yang juga disebut NDJSON, berisi nilai JSON terpisah pada setiap baris, sedangkan parser JSON biasa mengharapkan satu nilai tingkat teratas. Validasi setiap baris secara terpisah atau ubah semua rekaman menjadi satu array JSON.

Apakah urutan properti objek berpengaruh?

Aplikasi tidak boleh bergantung pada urutan properti objek JSON. Array memiliki urutan, tetapi objek mewakili kumpulan anggota bernama. Parser atau serialiser lain mungkin menghasilkan anggota tersebut dalam urutan berbeda. Jika urutan memiliki arti, letakkan nilainya di dalam array.

Mengapa file JSON gagal divalidasi padahal terlihat benar?

Byte-order mark yang tidak terlihat, UTF-8 yang salah format, atau karakter kontrol yang tidak di-escape dapat membuat teks yang tampak benar gagal divalidasi. Menyalin dari terminal juga dapat menyertakan awalan seperti label status atau stempel waktu. Periksa byte mentahnya atau buka file dalam editor yang dapat menampilkan enkode dan karakter kontrol.

Pemeriksaan akhir

Sebelum menerapkan JSON yang sudah diperbaiki, bandingkan tipe data serta nilai yang terlihat, pastikan urutan escape tidak berubah, lalu jalankan aplikasi yang akan menggunakan data tersebut atau validasi skemanya. Saat mendiagnosis data dari pihak ketiga, simpan salinan respons asli tanpa perubahan agar pemformatan tidak menyamarkan sumber kesalahan.

Alat Populer