Pemformatan kode / MULTIVERTO

Ratakan objek JSON

Ratakan properti objek JSON bersarang menjadi kunci jalur JSON Pointer.

Konverter interaktifMasukan Anda tetap di peramban ini. Teks tidak diunggah untuk dikonversi.

Berkas tetap berada di peramban Anda.
Rangkai alat

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

Contoh

Masukan Anda{"pengguna":{"nama":"Halo","pesan":"Selamat datang"},"aktif":true}
Hasil{ "/pengguna/nama": "Halo", "/pengguna/pesan": "Selamat datang", "/aktif": true }

02 / Panduan

Ratakan objek JSON — Cara kerja

Apa yang konversi lakukan

Ubah properti objek JSON bersarang menjadi kunci jalur JSON Pointer. Telusuri objek bertingkat, tetapi pertahankan array dan nilai skalar sebagai nilai daun.

Contoh konversi

Dalam contoh ini, masukan «{"pengguna":{"nama":"Halo","pesan":"Selamat datang"},"aktif":true}» menghasilkan keluaran «{ ⏎ "/pengguna/nama": "Halo", ⏎ "/pengguna/pesan": "Selamat datang", ⏎ "/aktif": true ⏎ }»; ⏎ menunjukkan baris baru yang sebenarnya. Periksa pemisah, nama dan tipe nilai yang berubah sebelum menggunakan hasil ini. Dengan objek Flatten JSON, bandingkan satu rekaman kecil dengan pengurai data tujuan sebelum mengubah file atau permintaan yang lengkap. Ganti sifat objek JSON bersarang menjadi kunci path Penunjuk JSON.

Aturan dan batasan format

Peningkatan menggunakan RFC 6901 JSON Pointer token untuk nama properti objek: sebuah slash memisahkan tingkat, sebuah tilde dalam nama menjadi ~0 dan sebuah slash dalam nama menjadi ~1. Ini adalah representasi jalur, bukan metode kompresi JSON umum. Array tetap menjadi nilai daun penuh, yang menghindari kebingungan kunci objek numerik dengan indeks array; nilai skalar dan objek kosong tetap menjadi daun juga. Operasi terbalik menerima objek JSON yang datar yang kuncinya adalah jalur seperti itu, menciptakan objek bersarang, dan menolak jalur yang berkonflik. Gunakan kunci path ketika seorang pembaca konfigurasi perlu melihat properti nested yang berubah tanpa membuka setiap tingkat objek. Sebuah array root berada di luar operasi ini karena memerlukan sebuah objek pada tingkat atas. Ikuti satu cabang bersarang dalam hasil: setiap anggota objek tambahan menambahkan token yang terpisah oleh slash, sementara nilai array tetap terikat pada jalur yang mengarah padanya. Untuk root kosong, keluaran memiliki satu path kosong dengan objek kosong. Ini membantu membedakan dokumen kosong dari hasil konversi yang hilang. Sebelum mengedit sebuah kunci datar, putuskan apakah slashnya menunjukkan tingkat atau termasuk dalam nama properti literal.

Periksa hasil

Untuk perjalanan pulang-pergi yang dapat diandalkan, ratakan objek dan kemudian pulihkan jalur bertingkat dari yang dihasilkan sebelum menggunakannya dalam patch atau impor. Bandingkan struktur JSON yang direkonstruksi, termasuk objek kosong, array dan nama properti yang berisi slashes atau tildes. Jangan mengedit awalan jalur secara manual ke dalam daun skalar: alat terbalik menolak jalur yang tumpang tindih atau mencoba membuat anak di bawah daun. Cobalah sebuah properti yang berisi slash dan yang lain berisi tilde; path token mereka harus menggunakan ~1 dan ~0, sementara array tetap menjadi nilai daun. 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.

Cara konversi mengubah masukan
JSON — Input
Baca dan transformasi struktur
JSON — Hasil

Jelajahi panduan

Panduan konversi

Jelajahi panduan