Bantuan

JSON Stringify Online: Objek JavaScript Menjadi JSON Ketat

Tempel objek JavaScript dengan kunci tanpa tanda kutip, tanda kutip tunggal, komentar, atau koma di akhir, lalu dapatkan JSON ketat dengan escape yang benar. Untuk JSON stringify online ini, teks dibaca oleh parser dan tidak pernah dijalankan sebagai kode, jadi Anda boleh menempel teks dari konsol, berkas konfigurasi, atau contoh kode.


JSON stringify javascript: cara memakainya

  1. Tempel objek ke kotak Objek JavaScript atau JSON. Saat ditempel, hasilnya langsung dibuat. Jika Anda mengetik, hasil diperbarui sekitar 300 milidetik setelah Anda berhenti.
  2. Di Format, pilih tampilan hasil: Diminifikasi (bawaan, satu baris), 2 spasi, atau 4 spasi.
  3. Baca hasilnya di bawah JSON ketat. Di bawahnya muncul “Sudah diubah ke JSON ketat.” dan jumlah karakter.
  4. Pilih Salin, tepat di bawah hasil. Tombolnya menampilkan Tersalin sesaat.
  5. Pilih Hapus untuk mengosongkan kotak dan mulai lagi.

Contoh singkat: Anda menempel {name: 'Ana', tags: ['a', 'b',], id: 0xFF}. Dengan Diminifikasi, hasilnya {"name":"Ana","tags":["a","b"],"id":255}.

Sintaks JavaScript longgar yang bisa dibaca

Teks dibaca dengan parser JSON5, yang memahami perbedaan objek literal JavaScript dengan JSON. Semua bentuk berikut diubah, bukan ditolak:

Tanda kutip, garis miring terbalik, dan pemisah baris di dalam string di-escape untuk Anda: 'He said "hi"' menjadi "He said \"hi\"". JSON yang sudah valid dilewatkan apa adanya, kecuali tata letak yang Anda pilih.

Minify JSON online atau indentasi 2 dan 4 spasi

Menu Format ada di atas hasil. Diminifikasi menulis semuanya dalam satu baris tanpa spasi, cocok untuk isi permintaan, data uji, atau nilai yang akan ditempel ke dalam string.

2 spasi dan 4 spasi menghasilkan tampilan berindentasi yang lebih mudah dibaca dan dibandingkan. Hasil berubah begitu Anda memilih, dan Salin mengambil apa yang Anda lihat.

Yang tidak bisa dibaca dan arti pesan galat

Hanya data yang diterima, bukan kode. Saat parser berhenti, kotak merah berjudul Tidak dapat membaca ini memberi alasan yang jelas dan posisinya, misalnya “Baris 1, kolom 6”. Untuk {a:1 b:2}, parser berhenti di b dan meminta Anda memeriksa apakah tepat sebelumnya ada koma, titik dua, tanda kurung, atau tanda kutip yang hilang. Jika teks selesai saat kurung, kurung kurawal, atau tanda kutip masih terbuka, pesannya “Teks berakhir terlalu cepat.”

Angka, kunci ganda, dan hal lain yang berubah

Hasilnya dibuat oleh JSON.stringify milik browser itu sendiri, jadi angkanya adalah angka JavaScript. Ada akibatnya yang perlu Anda ketahui sebelum menyalin:

Jika data sudah berupa JSON valid dan Anda hanya ingin indentasi tanpa mengubah satu digit pun, pakai “Pemformat JSON”. Untuk memeriksa JSON terhadap skema, pakai “Validator JSON Schema”.

Batas dan privasi


Pertanyaan yang sering diajukan

Bagaimana cara JSON stringify online untuk objek JavaScript?

Tempel objek ke kotak “Objek JavaScript atau JSON”. Hasil langsung dibuat saat ditempel, atau sekitar 300 milidetik setelah Anda berhenti mengetik, dan JSON ketat muncul di bawah “JSON ketat”. Pilih “Salin” untuk membawanya. Tempel objeknya saja, bukan baris seperti const data = {...};.

Bagaimana mengubah tanda kutip tunggal menjadi ganda di JSON?

Tempel teksnya. Setiap string bertanda kutip tunggal keluar dengan tanda kutip ganda, dan tanda kutip ganda di dalamnya di-escape untuk Anda, jadi 'He said "hi"' menjadi "He said \"hi\"". Yang disentuh hanya string dan kunci, sehingga apostrof di dalam string bertanda kutip ganda dibiarkan.

Bagaimana menghilangkan koma di akhir JSON?

Tempel teksnya. Koma setelah item terakhir sebuah objek atau array, seperti pada [1, 2,], diterima saat input dan tidak ikut ke hasil di “JSON ketat”. Tidak ada hal lain pada data yang berubah.

Bisakah JSON punya kunci tanpa tanda kutip atau komentar?

JSON ketat tidak bisa: setiap kunci dan string memerlukan tanda kutip ganda, dan tidak ada sintaks komentar. Objek JavaScript dan berkas konfigurasi sering memiliki keduanya. Alat ini membacanya, menulis kunci dengan tanda kutip ganda, dan membuang komentar, sehingga hasilnya JSON valid.

JSON5 ke JSON: apa bedanya JSON dan JSON5?

JSON5 adalah superset JSON yang lebih longgar, yang mengizinkan kunci tanpa tanda kutip, string bertanda kutip tunggal, koma di akhir, komentar, angka heksadesimal, dan beberapa bentuk gaya JavaScript lainnya. Alat ini membaca sintaks itu dan menulis JSON biasa, sehingga dokumen JSON5 tanpa nilai yang tidak didukung berubah menjadi JSON yang diterima semua parser.

Bagaimana cara minify JSON online atau mengindentasinya dengan 2 atau 4 spasi?

Pakai menu “Format” di atas hasil. “Diminifikasi”, yang menjadi bawaan, memberi satu baris tanpa spasi. 2 spasi dan 4 spasi memberi versi berindentasi. Hasil dan apa yang diambil “Salin” berubah begitu Anda memilih opsi lain.

Mengapa muncul “Tidak dapat membaca ini”?

Teks itu bukan objek, array, atau nilai yang dipahami parser. Kotak merah menyebut tempat berhentinya, misalnya “Baris 1, kolom 6”, dan apa yang perlu diperiksa: koma, titik dua, tanda kurung, atau tanda kutip yang hilang tepat sebelumnya, atau kurung, kurung kurawal, atau tanda kutip yang masih terbuka di akhir. Pernyataan seperti const x = {...}, titik koma di akhir, string dengan tanda petik terbalik, undefined, fungsi, dan new Date() tidak diterima. Tempel objeknya saja.

Apakah JavaScript yang saya tempel dijalankan?

Tidak. Teks dibaca oleh parser (JSON5), tidak pernah oleh eval, jadi tidak ada yang Anda tempel yang bisa berjalan. Itu juga sebabnya kode ditolak: fungsi, nama variabel, atau new Date() adalah galat, bukan sesuatu untuk dievaluasi.

Bagaimana cara escape JSON online untuk tanda kutip dan baris baru?

Anda tidak perlu melakukan apa pun. Tanda kutip, garis miring terbalik, atau pemisah baris di dalam string ditulis sebagai \", \\ atau \n pada hasil. Alat ini tidak membungkus seluruh JSON menjadi satu string ber-escape untuk disematkan ke string lain; yang Anda terima adalah JSON-nya sendiri.

Apakah sama dengan JSON.stringify, dan seberapa besar teksnya boleh?

Hasilnya dibuat dengan JSON.stringify, jadi aturan keluarannya sama. Bedanya ada di masukan: JSON.stringify memerlukan objek sungguhan di kode Anda, sedangkan di sini Anda menempel teks objek, termasuk sintaks longgar. Batasnya 5.000.000 karakter. Konversi berlangsung di perangkat Anda dan tidak ada yang diunggah atau disimpan. Angka besar, NaN, Infinity, dan kunci ganda berubah seperti pada JSON.stringify.