SEDIKIT LEBIH JELAS

Format JSON tanpa mengubah angka besar

Mengapa pemformatan harus mempertahankan literal numerik, dan cara menangani kunci duplikat serta validasi ketat.

ToolMellow ·

Pemformatan bukan konversi data

Pemformat seharusnya membuat sumber lebih mudah dibaca tanpa diam-diam mengubah nilainya. Number di JavaScript tidak dapat merepresentasikan secara persis setiap bilangan bulat di atas 9007199254740991. Karena itu, mengurai bilangan bulat yang lebih besar menjadi Number lalu menyerialisasikannya lagi dapat mengubah nilai sumber.

Pertahankan token sumber

ToolMellow memvalidasi JSON dan menerapkan pengeditan spasi kosong pada sumber asli. ToolMellow tidak melewatkan dokumen bolak-balik melalui JSON.stringify untuk pemformatan. Penulisan angka seperti 9007199254740993 dan 1e+20 dipertahankan. “Minifikasi” menghapus spasi kosong yang tidak bermakna sambil mempertahankan token yang sama.

Selesaikan kunci duplikat dengan sengaja

Objek JSON dapat berisi nama anggota yang berulang dalam sumbernya, tetapi tiap program pemakai menanganinya secara berbeda dan umumnya menyimpan nilai terakhir. Pemformat memperingatkan tentang kunci duplikat tanpa memilih mana yang dihapus. Tinjau sumber asli dan putuskan data mana yang dimaksud.

Gunakan JSON ketat jika JSON ketat diwajibkan

Komentar, koma di akhir, dan string berkutip tunggal tidak diterima oleh validator ini. Kesalahan menyertakan baris dan kolom. Alat ini tidak mengeksekusi teks yang ditempel atau memperbaikinya secara diam-diam; perbaiki masalah yang ditunjukkan dan validasi lagi.

Periksa juga program pemakainya

Mempertahankan literal di sini tidak dapat mengubah cara aplikasi hilir menguraikannya. Jika API Anda memerlukan pengenal yang persis atau aritmetika desimal, pilih skema dan parser yang sesuai di aplikasi tersebut. Dokumen yang diformat saja bukan bukti presisi dari ujung ke ujung.

Praktikkan.