01 / Contoh
Contoh
{"z":"Selamat datang","a":{"z":"Halo","a":true}}{
"a": {
"a": true,
"z": "Halo"
},
"z": "Selamat datang"
}Pemformatan kode / MULTIVERTO
Urutkan kunci objek secara alfabetis dan rekursif tanpa mengubah urutan array.
Terapkan setiap alat teks pada hasil sebelumnya. Alur kerja teks ↗
Hanya nama rangkaian dan urutan alat yang disimpan di peramban ini. Masukan dan hasil Anda tidak pernah disimpan.
01 / Contoh
{"z":"Selamat datang","a":{"z":"Halo","a":true}}{
"a": {
"a": true,
"z": "Halo"
},
"z": "Selamat datang"
}02 / Panduan
Urutkan kunci pada setiap objek JSON secara alfabetis dan rekursif tanpa mengubah urutan array. Alat ini mengurai JSON, mengurutkan nama properti, lalu menampilkan hasil dengan indentasi.
Dalam contoh ini, masukan «{"z":"Selamat datang","a":{"z":"Halo","a":true}}» menghasilkan keluaran «{ ⏎ "a": { ⏎ "a": true, ⏎ "z": "Halo" ⏎ }, ⏎ "z": "Selamat datang" ⏎ }»; ⏎ menunjukkan baris baru yang sebenarnya. Periksa pemisah, nama dan tipe nilai yang berubah sebelum menggunakan hasil ini. Dengan pengurutan kunci JSON, bandingkan satu rekaman kecil dengan pengurai data tujuan sebelum mengubah file atau permintaan yang lengkap. Alphabetize kunci objek secara rekursif tanpa mengubah urutan array.
Operasi ini menganalisis JSON daripada menyusun baris teks. Setiap objek dikunjungi secara rekursif dan nama anggotanya ditempatkan dalam urutan leksikografi JavaScript; elemen array tetap di posisi asli mereka karena urutan array biasanya memiliki makna. Nilai-nilainya mempertahankan jenis JSON mereka, termasuk true, false, null dan angka. Indentasi berubah sehingga keluaran dapat ditinjau, tetapi ejaan numerik dan ruang kosong yang tidak signifikan dapat berbeda dari sumber. JSON urutan kunci objek sering secara semantik tidak relevan untuk aplikasi, meskipun urutan dapat berpengaruh pada diff, snapshot dan protokol yang menandatangani byte yang tepat. Jangan gunakan keluaran ini sebagai format tanda tangan kanonikal JSON. Nama anggota duplikat dalam sumber dipecahkan oleh pembacaan JSON sebelum menyusun, jadi periksa data seperti itu dalam pembacaan khusus jika mempertahankan setiap kejadian adalah penting. Bandingkan API fixtures yang anggota objeknya tiba dalam urutan yang berbeda sambil mempertahankan urutan item array. Bilangan bulat tanpa tanda kutip di luar rentang bilangan bulat aman ±9.007.199.254.740.991 ditolak saat JSON diproses; tulis pengenal persis dalam tanda kutip agar semua digit tersimpan sebagai string.
Untuk pengolahan kunci JSON, parse keluaran lagi dan bandingkan datanya dengan input yang diparse, daripada membandingkan byte asli. Periksa apakah array mempertahankan urutannya dan setiap objek disortir, termasuk objek yang bersarang di dalam array. Jika hasil akan ditandatangani atau dihash, gunakan kanonisasi yang tepat yang dibutuhkan oleh protokol itu daripada mengasumsikan kunci alfabet cukup. Bersarang sebuah objek di dalam sebuah array dengan kunci yang sengaja dibalik; periksa objek luar dan dalam sambil memastikan bahwa posisi array tidak bergerak. Sumber dan hasil memiliki peran yang berbeda bahkan ketika mereka terlihat mirip. Metode di atas mendefinisikan subset yang diterima daripada setiap ekstensi dari format yang disebut. Untuk sistem penerimaan yang ketat, cobalah kasus yang kecil sebelum mengubah banyak rekaman. Jika validasi gagal, kembali ke input asli dan kesalahan pertama yang dilaporkan; mengedit hanya hasil yang dihasilkan dapat menyembunyikan penyebabnya. Simpan sumber sampai aplikasi penerima menerima keluaran. Konversi berjalan di peramban ini; menempelkan hasil ke URL yang dibagikan, repositori atau permintaan adalah keputusan publikasi terpisah.