Dibangun dengan AI canggih di perangkat Anda dan akselerasi perangkat keras untuk performa profesional dengan privasi tanpa kompromi.AI di perangkat — profesional dan privat.
Konverter YAML ke JSON
YAML ke JSON dengan manifes, kunci gabung, dan jangkar
- Tidak ada yang diunggah
- Multi-dokumen
- Kunci gabung diselesaikan
- Galat dengan baris dan kolom
Lepas berkas .yaml atau .yml
Atau tempel ke editor di bawah. Hingga 25.0 MB pada paket gratis.
Sumber YAML
Output JSON
Bagaimana JSON diberi spasi. Diperkecil berarti satu baris tanpa spasi.
Apa yang dilakukan pada berkas berisi beberapa dokumen yang dipisah ---.
Mengurutkan kunci berdasarkan titik kode agar dua konversi data yang sama dibandingkan dengan bersih.
JSON tidak bisa menyimpan kedua nilai. Mengubah ini membaca ulang dokumen.
JSON tidak punya literal untuk keduanya. Pilih apa yang terjadi pada .nan, .inf, dan -.inf.
Tanggal tetap persis seperti diketik kecuali Anda meminta ISO 8601.
Pro. Semua dokumen dari semua berkas dalam antrean, dalam satu larik JSON.
Versi gratis mengonversi satu berkas hingga 25.0 MB. Semua opsi output disertakan.
Cara mengonversi YAML ke JSON
- 1
Tempel atau lepas YAML Anda
Tempel ke editor, seret berkas .yaml atau .yml ke area unggah, atau buka salah satu dari tiga contoh. Konversi berjalan sambil Anda mengetik — tidak ada tombol yang harus ditekan untuk melihat hasilnya.
- 2
Pilih bentuk output
2 spasi, 4 spasi, tab, atau diperkecil. Jika berkas berisi beberapa dokumen yang dipisah ---, tentukan apakah menjadi satu larik JSON, hanya dokumen pertama, atau satu berkas masing-masing. Nyalakan Urutkan kunci bila output akan dibandingkan.
- 3
Periksa apa yang berubah
Panel di bawah hasil menyebutkan segala yang tidak bisa dibawa JSON apa adanya: nilai seperti .nan dan .inf, data biner yang ditulis sebagai base64, dan tag seperti !Ref yang diselesaikan ke nilai di bawahnya. Tidak ada yang berubah diam-diam.
- 4
Konversi, lalu unduh atau salin
Tekan Konversi untuk membuat berkasnya, lalu unduh .json, salin ke papan klip, atau ambil seluruh batch sebagai satu ZIP. Jika YAML tidak bisa dibaca, galatnya menyebut baris, kolom, dan teks di sekitarnya.
Yang ditawarkan konverter YAML ke JSON ini
Tempel YAML, lepas berkas .yaml atau .yml, atau muat contoh, dan JSON muncul sambil Anda mengetik. Manifes multi-dokumen, kunci gabung, jangkar, dan tag yang tidak umum ditangani alih-alih ditolak, dan segala yang harus diubah konversi dihitung di bawah hasil, bukan terjadi diam-diam. Pilih 2 spasi, 4 spasi, tab, atau diperkecil, urutkan kunci bila berkasnya akan dibandingkan, lalu unduh .json atau salin.
- YAML 1.2 core — Pemetaan, urutan, gaya blok dan alir, skalar multibaris, jangkar, alias, dan kunci gabung. Aturan skalarnya adalah skema core 1.2, jadi yes dan no tetap teks.
- Sadar multi-dokumen — Manifes yang dipisah --- menjadi larik JSON, dokumen pertamanya, atau satu berkas per dokumen. Versi sebelumnya dari alat ini menolak berkas semacam itu.
- Empat bentuk output — 2 spasi, 4 spasi, tab sungguhan, atau diperkecil dalam satu baris. Urutkan kunci menempatkan setiap objek dalam urutan tetap sehingga dua konversi data yang sama dibandingkan dengan bersih.
- Galat dengan posisi — Pesan, baris, kolom, dan tiga baris sumber Anda sendiri dengan penanda di bawah titik salahnya — bukan nomor baris yang dikorek dari kalimat.
- Tidak ada yang berubah diam-diam — Angka non-hingga, data biner, dan tag yang diselesaikan dihitung dan disebutkan di bawah hasil, karena masing-masing adalah nilai yang tidak bisa dibawa JSON apa adanya.
- Batch dan ZIP — Antre hingga 50 berkas dengan Pro, ambil sebagai satu arsip, atau lipat semua dokumen dari semua berkas menjadi satu larik JSON.
YAML multi-dokumen dan manifes Kubernetes
Satu berkas YAML bisa memuat beberapa dokumen, dipisah tiga tanda hubung pada barisnya sendiri. Itu bentuk normal manifes Kubernetes — Namespace, Deployment, dan Service dalam satu berkas — dan juga cara kubectl, kustomize, serta helm template menulis keluarannya. JSON tidak punya pemisah setara, jadi konverter harus memutuskan sesuatu, dan menolak berkasnya adalah keputusan yang diambil sebagian besar dari mereka.
- Otomatis — Satu dokumen menjadi objek; beberapa menjadi larik objek. Inilah yang orang harapkan, dan ini bawaannya.
- Selalu larik — Selalu larik, bahkan untuk satu dokumen. Pakai ini bila pembaca JSON-nya melakukan iterasi tanpa memeriksa dan objek tunggal akan merusaknya.
- Hanya dokumen pertama — Mengambil dokumen terdepan dan membuang sisanya. Berguna bila sesuatu digabungkan ke sebuah berkas dan Anda hanya butuh bagian awalnya.
- Berkas terpisah — Satu .json per dokumen, bernomor dengan nol di depan agar daftar folder terurut seperti aslinya. Tidak satu pun pesaing yang disebut di halaman ini menawarkannya.
- Dokumen kosong ikut dihitung — Rangkaian --- tanpa isi di antaranya adalah rangkaian dokumen null, dan itu dipertahankan alih-alih dibuang, karena posisinya bermakna dalam sebuah patch.
Jangkar, alias, dan kunci gabung
YAML memungkinkan Anda menamai simpul dengan &jangkar dan merujuknya kemudian dengan *alias, serta memungkinkan sebuah pemetaan menyerap pemetaan lain lewat kunci gabung <<. Bersama-sama itulah cara berkas docker-compose, pipeline GitLab CI, dan nilai Helm menghindari pengulangan. JSON tidak punya satu pun dari itu, jadi setiap rujukan harus dikembangkan di tempat — dan cara sebuah konverter memperlakukan kunci gabung adalah pembeda antara hasil yang benar dan hasil yang masuk akal tetapi salah.
- Alias dikembangkan — Setiap simpul yang dirujuk ditulis di tempat ia dipakai. Dua alias ke jangkar yang sama menghasilkan dua subpohon identik, karena JSON tidak bisa menyatakan bahwa keduanya simpul yang sama.
- Kunci gabung diselesaikan — Layanan yang ditulis <<: *common keluar dengan kunci bersama tergabung. Parser yang mengikuti YAML 1.2 secara harfiah justru meninggalkan kunci harfiah "<<" berisi objek bersarang: JSON valid, data salah, tanpa galat.
- Kunci belakangan menang — Kunci yang ditulis langsung pada pemetaan menimpa kunci yang digabungkan, dan pada perilaku itulah docker-compose serta GitLab CI bergantung.
- Pengembangan dibatasi — Jangkar bisa disarangkan sehingga berkas mungil mengembang menjadi gigabita. Kemungkinan pengembangan diukur sebelum apa pun diurai, dan berkas yang bisa melampaui anggaran ditolak dalam milidetik alih-alih membekukan halaman.
Bagaimana tipe YAML menjadi JSON
Aturan skalarnya adalah skema core YAML 1.2, dan berbeda dari YAML 1.1 tepat di tempat yang menentukan apakah sebuah nilai tiba sebagai teks atau angka. Salah di sini bukan soal format: itu mengubah datanya.
- Boolean hanya true dan false — yes, no, on, off, y, dan n tetap teks. Di YAML 1.1 semuanya menjadi boolean, dan itulah sebabnya kode negara NO untuk Norwegia sudah merusak begitu banyak pipeline.
- Angka bersifat desimal, oktal, dan heksadesimal — 42, 0o14, dan 0x1F adalah angka. 1_000 adalah teks, karena pemisah garis bawah milik 1.1; 0b1010 juga, dengan alasan sama.
- Stempel waktu tetap seperti ditulis — 2001-12-14 adalah teks yang Anda ketik, bukan tanggal yang digeser ke zona waktu mesin Anda. Ubah pengaturannya ke ISO 8601 bila ingin dinormalkan, dan jumlah yang berubah muncul di bawah hasil.
- Skalar blok mempertahankan pergantian baris — Blok | mempertahankan setiap pergantian baris; blok > melipatnya menjadi spasi. Keduanya tiba sebagai teks JSON biasa dengan spasi yang digambarkan YAML-nya.
- Tag diselesaikan ke nilai di bawahnya — !Ref, !GetAtt, !Sub, dan tag tidak umum lainnya memberi Anda skalar, urutan, atau pemetaan yang dilekatinya, dan nama tagnya didaftar di bawah hasil.
Nilai yang tidak bisa diwakili JSON
Sebagian YAML sama sekali tidak punya padanan JSON. Setiap konverter harus melakukan sesuatu tentangnya, dan hampir semuanya melakukannya tanpa memberi tahu Anda. Aturan di sini: tidak ada yang berubah diam-diam. Masing-masing kasus dihitung, disebutkan, dan bila ada pilihan sungguhan, pilihannya milik Anda.
- .nan, .inf, dan -.inf — JSON tidak punya literal untuk ketiganya. Bawaannya menulis null dan menghitung berapa yang dikonversi; bisa juga ditulis sebagai teks, atau konversinya dihentikan agar Anda memutuskan di sumbernya.
- Data biner — Simpul !!binary menjadi teks base64 — teks yang sama seperti di YAML, jadi tidak ada yang hilang, tetapi kini berupa teks alih-alih bita.
- Kunci majemuk — Pemetaan atau urutan yang dipakai sebagai kunci tidak punya padanan JSON, jadi ditampilkan sebagai teks. Kuncinya dipertahankan alih-alih berubah menjadi sesuatu seperti [object Object], yang dihasilkan konversi naif.
- Alias melingkar — Jangkar yang merujuk dirinya sendiri adalah YAML sah dan JSON mustahil. Itu dilaporkan sebagai alias melingkar beserta jalur ke simpulnya, bukan gagal di dalam serializer.
- Komentar — Komentar YAML bukan data dan tidak ada dokumen JSON yang bisa menyimpannya. Komentar dibuang, seperti pada konverter mana pun — perlu diketahui bila komentar itu memuat dokumentasi sebuah konfigurasi.
Kunci ganda dan kehilangan data senyap lainnya
Kegagalan yang layak dijaga bukanlah yang memunculkan galat, melainkan yang menghasilkan dokumen rapi, masuk akal, dan salah. Kunci ganda adalah contoh paling jelas: YAML mengizinkan Anda menulisnya, JSON tidak bisa menyimpan kedua nilainya, jadi salah satunya hilang dalam konversi.
- Tolak, secara bawaan — Konversi berhenti dan menyebut baris serta kolom kunci kedua. Itulah bawaan yang aman, karena alternatifnya adalah berkas yang tampak terkonversi namun kehilangan sebuah nilai.
- Atau pakai yang terakhir — Ubah pengaturannya dan konversi selesai dengan «yang terakhir menang», seperti yang dilakukan sebagian besar perkakas YAML. Bedanya, Anda yang memilih.
- Kebalikannya adalah tab — YAML melarang tab sebagai indentasi. Berkas yang tampak rapi di editor dengan lebar tab dua spasi tidak akan terurai, dan galatnya menyebut barisnya.
- Urutkan kunci sebelum membandingkan — Dua ekspor data yang sama bisa berbeda hanya pada urutan kunci. Pengurutan membuat perbandingan menampilkan perubahannya, bukan urutannya.
Manifes 25 MB dikonversi dalam sedikit lebih dari satu detik pada mesin rujukan, dan seluruh prosesnya berjalan di perangkat Anda.
Opsi output sekilas
- Indentasi — 2 spasi, 4 spasi, tab sungguhan, atau diperkecil dalam satu baris. Keempatnya gratis — tidak ada sumbu kualitas pada indentasi.
- Dokumen — Otomatis, selalu larik, hanya dokumen pertama, atau satu berkas per dokumen.
- Urutkan kunci — Mengurutkan kunci setiap objek berdasarkan titik kode, sama di semua bahasa, agar output tidak bergantung pada bahasa peramban.
- Kunci ganda — Tolak dan laporkan, atau pakai yang terakhir. Pengaturan ini masuk ke parser, jadi mengubahnya membaca ulang dokumen.
- Angka non-hingga — null, teks, atau hentikan konversi.
- Stempel waktu — Biarkan persis seperti ditulis, atau normalkan ke ISO 8601.
- Gabungkan (Pro) — Semua dokumen dari semua berkas dalam antrean, dilipat menjadi satu larik JSON sesuai urutan antrean.
Mengapa mengonversi YAML ke JSON?
YAML ditulis manusia dan JSON dibaca program. Konversi inilah yang membuat konfigurasi yang nyaman disunting bisa sampai ke sistem yang hanya menerima JSON, dan cara tercepat mengetahui apa yang sebenarnya dikatakan sebuah berkas ketika indentasinya sudah tidak lagi jelas.
- API menerima JSON — Ubah konfigurasi YAML menjadi badan permintaan, fixture, atau blok pengaturan untuk layanan tanpa parser YAML.
- Menelusuri indentasi — Ketika manifes berperilaku aneh, mengonversinya memperlihatkan struktur yang dilihat parser, yang kerap berbeda dari yang disiratkan indentasinya.
- Membandingkan dua konfigurasi — Konversi keduanya, urutkan kuncinya, bandingkan JSON-nya. Urutan dan perubahan komentar berhenti muncul sebagai perbedaan.
- Memberi makan rantai alat JSON — jq, validator JSON Schema, dan setiap alat JSON di situs ini bekerja pada hasilnya.
- Tidak ada yang meninggalkan perangkat — Manifes memuat nama host, registri image, dan sesekali sebuah rahasia. Konversi terjadi di dalam halaman, jadi tidak satu pun darinya diunggah ke mana pun.
Pertanyaan umum
Bagaimana konverter YAML ke JSON ini bekerja?
Tempel YAML Anda atau lepas berkas .yaml atau .yml, dan JSON muncul sambil Anda mengetik. Pilih 2 spasi, 4 spasi, tab, atau output yang diperkecil, tentukan bagaimana berkas multi-dokumen digabungkan, lalu tekan Konversi untuk menghasilkan berkas yang bisa diunduh. Semuanya berjalan di perangkat Anda: dokumen tidak pernah diunggah, dan konverter tetap bekerja tanpa koneksi setelah halaman dimuat.
Apakah manifes Kubernetes multi-dokumen didukung?
Ya, dan itulah alasan sebagian besar orang datang ke sini. Berkas yang dokumennya dipisah oleh --- pada barisnya sendiri dibaca sebagai aliran. Anda menentukan langkah berikutnya: Otomatis memberi objek untuk berkas satu dokumen dan larik JSON untuk manifes, Selalu larik selalu membungkus, Hanya pertama mengambil dokumen terdepan saja, dan Berkas terpisah menulis satu .json per dokumen dengan nama bernomor. Banyak konverter cukup menolak berkas semacam ini dengan galat parser.
Apakah jangkar, alias, dan kunci gabung didukung?
Ketiganya. Jangkar dan alias dikembangkan di tempat, karena JSON tidak punya sintaks rujukan: setiap simpul yang dirujuk ditulis ulang di mana pun ia dipakai. Kunci gabung juga diselesaikan, sehingga layanan docker-compose yang ditulis <<: *common keluar dengan kunci bersama tergabung ke dalamnya, bukan dengan kunci harfiah "<<" berisi objek bersarang. Hasil harfiah itu adalah jawaban salah yang senyap, dan itulah yang dihasilkan parser YAML 1.2 ketat kecuali penggabungan diaktifkan secara eksplisit.
Apa yang terjadi pada .nan, .inf, dan nilai lain yang tidak diwakili JSON?
Anda yang memilih, dan konverter memberi tahu berapa banyak yang ditemukan. JSON tidak punya cara menulis NaN atau Infinity, jadi sebagian besar alat diam-diam menuliskan null. Di sini bawaannya tetap null, tetapi panel di bawah hasil menghitungnya; Anda juga bisa menuliskannya sebagai teks "NaN", "Infinity", dan "-Infinity", atau menghentikan konversi agar bisa diperbaiki di sumbernya.
Bagaimana tipe YAML dipetakan ke JSON?
Pemetaan menjadi objek dan urutan menjadi larik. Skalar mengikuti skema core YAML 1.2: true dan false adalah boolean, ~ dan null adalah null, bilangan bulat dan desimal biasa adalah angka, sisanya teks. Artinya yes, no, on, dan off tetap teks, dan 1_000 tetap teks karena pemisah garis bawah milik YAML 1.1. Skalar blok multibaris mempertahankan pergantian barisnya persis.
Apa yang dilakukan konverter terhadap kunci ganda?
Secara bawaan ia menolak berkas dan menunjukkan baris serta kolom kunci kedua, karena kunci ganda berarti kehilangan data: JSON tidak bisa menyimpan kedua nilai, jadi salah satunya hilang. Jika Anda tetap ingin mengonversi, ubah pengaturannya menjadi Pakai yang terakhir, seperti yang dilakukan sebagian besar perkakas YAML. Bagaimanapun Anda diberi tahu bahwa duplikat itu ada, dan bagian itulah yang dilewati konverter lain.
Apakah bekerja dengan CloudFormation, Helm, atau YAML bertag lainnya?
Templat CloudFormation bisa dikonversi. Tag seperti !Ref, !GetAtt, dan !Sub diselesaikan ke skalar, urutan, atau pemetaan di bawahnya, dan nama tag yang Anda pakai didaftar di bawah hasil sehingga tidak ada yang hilang diam-diam. Konverter yang dibangun dengan pengaturan bawaan umum akan menggagalkan ketiganya dengan galat tag tidak dikenal. Templat Helm berisi placeholder {{ }} belum menjadi YAML valid sebelum dirender, jadi jalankan helm template dulu.
Bagaimana jika YAML saya tidak valid?
Anda mendapat pesan parser, baris, kolom, dan tiga baris sumber Anda sendiri dengan penanda tepat di posisinya — bukan nomor baris yang dikorek dari kalimat galat. Penyebab umum adalah tab dipakai sebagai indentasi, urutan alir yang belum ditutup, tanda kutip yang belum ditutup, dan alias yang jangkarnya tidak pernah didefinisikan; masing-masing memberi pesannya sendiri. Tautan ke alat JSON ke YAML juga ditawarkan seandainya arah konversinya terbalik.
Sebesar apa berkas yang bisa dikonversi?
Versi gratis mengonversi berkas hingga 25 MB, satu per satu. Pada mesin rujukan, manifes 25 MB diurai dan diserialkan dalam sedikit lebih dari satu detik, sepenuhnya di luar utas antarmuka, sehingga halaman tetap responsif selama bekerja. Pro menaikkan batas ke kemampuan perangkat Anda, mengantre hingga 50 berkas, mengunduh satu batch sebagai satu ZIP, dan bisa melipat semua dokumen dari semua berkas menjadi satu larik JSON.
Apakah aman menempel YAML dengan ribuan jangkar?
Ya. Berkas YAML pendek bisa ditulis sedemikian rupa hingga jangkarnya mengembang menjadi gigabita: sembilan jangkar berisi sembilan alias masing-masing hanya 324 bita, tetapi tumbuh menjadi sekitar 387 juta simpul. Konverter ini mengukur kemungkinan pengembangan sebelum mengurai apa pun dan menolak berkasnya dalam beberapa milidetik. Alat yang langsung menyerahkan teks ke parser akan mengunci tab selama beberapa detik lalu gagal.
dari 76 penilaian
Beri nilai alat ini
Ketuk bintang — hanya sebentar