Penukar Percuma

YAML ke Penukar JSON

Penukaran YAML kepada JSON yang pantas dan selamat. Sesuai untuk fail konfigurasi dan analisis data.

Ataupun

Tentang alat ini

YAML dan JSON adalah format yang berkait rapat — JSON secara teknikalnya ialah subset ketat YAML 1.2 — dan menukar antara keduanya biasanya mudah. YAML menambah ciri mesra manusia yang JSON kekurangan: ulasan, rentetan berbilang baris tanpa melarikan diri, rujukan sauh dan alias, petikan yang lebih fleksibel dan struktur berasaskan lekukan yang menyerupai reka letak dokumen semula jadi. Ini menjadikan YAML pilihan popular untuk fail konfigurasi (manifes Kubernetes, aliran kerja GitHub Actions, Docker Compose) manakala JSON mendominasi muatan API.

Menukar YAML kepada JSON biasanya bermakna melepaskan tambahan mesra manusia YAML sebagai pertukaran untuk format yang dihuraikan oleh mesin dengan lebih mudah dan itulah lingua franca API HTTP. Ulasan digugurkan (JSON tiada). Rujukan anchor diselesaikan ke dalam nilai rujukannya. Rentetan berbilang baris runtuh kepada rentetan JSON standard dengan baris baharu terbenam.

Penukar ini menghuraikan YAML menggunakan js-yaml, pustaka YAML yang paling banyak digunakan dalam JavaScript. Output dijana menggunakan JSON.stringify dengan lekukan pilihan. Penukaran mengendalikan semua sintaks YAML 1.2 standard termasuk gaya aliran, gaya blok, skalar, jujukan, pemetaan, sauh, alias dan jenis teg standard.

Mengapa Tukar YAML kepada JSON

Kebanyakan API dan banyak persekitaran pengaturcaraan mengharapkan JSON. Fail konfigurasi yang ditulis dalam YAML perlu ditukar kepada JSON apabila menyepadukan dengan kod atau perkhidmatan yang hanya menerima JSON. Alat untuk JSON juga lebih banyak: jq, Laluan JSON, Skema JSON dan ekosistem luas pengesah dan transformer semuanya menganggap input JSON.

JSON juga tidak jelas dalam cara YAML tidak. Fleksibiliti YAML mencipta kejutan penghuraian — rentetan seperti penghuraian 'tidak' sebagai palsu boolean dalam YAML 1.1, rentetan versi penghuraian sebagai terapung, ralat lekukan menghasilkan perubahan struktur senyap. Penukaran kepada JSON akan membekukan data kepada bentuk yang kurang samar-samar.

Cara menggunakan

Tampal YAML, dapatkan JSON.

  1. Tambahkan YAML anda: Tampal teks YAML ke dalam kawasan input atau lepaskan fail .yml/.yaml. js-yaml menerima sintaks YAML 1.2 penuh.
  2. Tukar: js-yaml menghuraikan YAML ke dalam objek JavaScript dan JSON.stringify mensirikannya dengan lekukan dua ruang. Ulasan digugurkan, sauh diselesaikan dan jenis YAML khas (cap masa, data binari) ditukar kepada perwakilan yang serasi dengan JSON.
  3. Semak keputusan: Sahkan bahawa struktur JSON sepadan dengan apa yang anda jangkakan. Bandingkan dengan sumber YAML untuk melihat mana-mana tempat di mana penaipan longgar YAML menghasilkan nilai JSON yang tidak dijangka.
  4. Muat turun atau salin: Simpan sebagai .json atau salin ke papan keratan. Output adalah JSON yang sah boleh digunakan oleh mana-mana penghurai JSON.

Kes Penggunaan Biasa

Butiran Teknikal

js-yaml melaksanakan YAML 1.2 dengan sokongan pilihan untuk kebiasaan YAML 1.1 (isu 'tidak'-sebagai-palsu, nombor perlapanan tanpa awalan 0o). Penghurai menghasilkan pokok objek JavaScript menggunakan jenis asli: nombor, rentetan, boolean, nol, tatasusunan dan objek biasa.

JSON.stringify mensiri pepohon objek kepada JSON. Lekukan pilihan menghasilkan output bercetak cantik; tanpa itu hasilnya adalah JSON baris tunggal padat. Nilai istimewa (NaN, Infinity, undefined) bukan JSON yang sah; penukar memaksa mereka untuk batal jika ada.

Kes tepi: Cap masa YAML menjadi rentetan ISO-8601 dalam JSON. Data binari YAML (base64-encoded) menjadi rentetan. Sauh dan alias diselesaikan menjadi nilai pendua dalam JSON, kerana JSON tidak mempunyai sintaks rujukan.

Amalan Terbaik

Soalan lazim

Adakah menukar YAML kepada JSON mengubah kandungan?
Kandungannya dipelihara setepat mungkin. Walau bagaimanapun, sesetengah ciri khusus format mungkin tidak mempunyai persamaan langsung, jadi perbezaan pemformatan kecil boleh berlaku.
Mengapa menukar data kepada format JSON?
JSON ialah format data standard untuk API web dan aplikasi JavaScript. Ia boleh dibaca oleh manusia, disokong secara meluas oleh bahasa pengaturcaraan, dan mempunyai sintaks yang lebih mudah daripada XML.
Adakah penukar mengendalikan struktur YAML bersarang atau kompleks?
ya. Alat ini menghuraikan objek bersarang, tatasusunan dan semua jenis data standard YAML dengan betul, mengekalkan struktur data penuh dalam output JSON.
Adakah penukaran ini selamat dan peribadi?
ya. Semua pemprosesan berlaku secara setempat dalam penyemak imbas anda. Data anda tidak pernah meninggalkan peranti anda — tiada muat naik pelayan, tiada pemprosesan awan, tiada pengumpulan data.
Adakah YAML saya pergi balik dengan bersih?
Secara berstruktur ya jika anda memancarkan semula JSON ke YAML. Komen dan struktur sauh hilang; nilai mentah dipelihara.
Adakah data saya dimuat naik ke pelayan?
Tidak. js-yaml berjalan dalam penyemak imbas anda.
Apakah saiz maksimum?
Sehingga 50 MB. js-yaml mengendalikan fail konfigurasi biasa serta-merta; YAML yang sangat besar mungkin mengambil masa yang ketara untuk menghuraikan.
Adakah ia menyokong YAML berbilang dokumen?
YAML menyokong berbilang dokumen dalam satu fail yang dipisahkan oleh ---. Penukar memproses dokumen pertama secara lalai; untuk pengendalian berbilang dokumen, pisahkan YAML dahulu.