Penukar YAML ke JSON
Tukar konfigurasi YAML, spesifikasi OpenAPI dan fail CI kepada JSON yang boleh dibaca oleh mana-mana penghurai, API atau pengesah skema. Muat naik fail .yaml atau .yml dan muat turun JSON berinden.
Penukar Data
atau seret Fail CSV, TSV, TXT … ke sini ·
Maks 95 MB setiap fail· Sehingga 20 fail· Dipadam selepas 30 minit
Fail diproses pada pelayan kami dan dipadam selepas 30 minit.
Aksara yang memisahkan lajur dalam fail CSV dan teks, untuk bacaan dan penulisan. Auto mengesannya daripada input dan menulis dengan koma.
UTF-8 sesuai untuk semua bahasa. Pilih UTF-8 dengan BOM jika Excel pada Windows memaparkan aksara beraksen atau aksara Asia yang bercelaru semasa membuka CSV.
Input Excel, ODS dan Numbers: tukar helaian pertama sahaja, atau semua helaian (satu CSV setiap helaian dalam ZIP, atau satu kunci JSON setiap helaian).
Nama tab helaian dalam hamparan baharu, sehingga 31 aksara.
Tatasusunan objek menggunakan nama lajur sebagai kunci bagi setiap baris; tatasusunan tatasusunan lebih padat dan menyimpan pengepala sebagai tatasusunan pertama.
Nama elemen luar yang membungkus semua baris; setiap baris menjadi <row> di dalamnya.
Digunakan dalam pernyataan CREATE TABLE dan INSERT. Huruf, digit dan garis bawah sahaja.
Pengutipan dan jenis lajur sedikit berbeza antara pangkalan data; pilih yang akan anda import ke dalamnya.
Tulis semula sel tarikh dalam satu format. ISO (2026-10-18) paling selamat untuk pangkalan data dan kod; kekalkan membiarkannya seperti dalam sumber.
Cara menggunakan alat ini
- 1
Muat naik fail YAML
Tambah fail .yaml atau .yml, sehingga 20 fail sekali gus dan 95 MB setiap satu. Nama asal dikekalkan; fail JSON menggunakan nama yang sama dengan sambungan baharu.
- 2
Pilih berinden atau padat
Format kemas diaktifkan, iaitu JSON diberi inden supaya mudah dibaca dan disemak kodnya. Matikannya di bawah Tetapan lanjutan untuk mendapatkan fail satu baris yang boleh ditampal ke dalam badan permintaan.
- 3
Tukar dan gunakan
Tekan Tukar ke JSON, muat turun, kemudian serahkan fail itu kepada API, pengesah atau skrip yang memerlukannya.
Mengapa pembangun menukar YAML ke JSON
YAML ditulis untuk manusia: inden menggantikan pendakap, ada komen, dan kebanyakan rentetan tanpa tanda petikan. Itulah sebabnya ia menjadi format manifes Kubernetes, aliran kerja GitHub Actions, fail Docker Compose dan spesifikasi OpenAPI yang disunting secara manual oleh pasukan. JSON pula ditulis untuk atur cara. Setiap bahasa mempunyai penghurai JSON dalam pustaka standardnya, pelayar menghuraikannya secara asli, dan kebanyakan API HTTP tidak menerima format lain.
Jadi penukaran berlaku di sempadan. Jurutera platform menyalurkan manifes melalui jq, yang hanya membaca JSON. Pembangun bahagian belakang menghantar spesifikasi OpenAPI kepada penjana kod yang mahukan JSON. Penguji memuatkan data fixture yang ditulis dalam YAML ke dalam suite ujian JavaScript. Dalam setiap kes, YAML kekal sebagai sumber rujukan dan JSON ialah artifak binaan. Untuk satu direktori suapan atau eksport dan bukannya konfigurasi, XML ke JSON mengendalikan format penanda yang lebih lama dengan cara yang sama.
Bagaimana YAML dan JSON berkembang bersama
- YAML pertama kali dicadangkan oleh Clark Evans
- 2001
- YAML 1.2 menjadikan JSON subset YAML
- 2009
- RFC 8259, standard JSON semasa
- 2017
- Semakan YAML 1.2.2 diterbitkan
- 2021
Apakah yang berlaku kepada ciri khusus YAML dalam JSON
Anchor (&defaults) dan aliasnya (*defaults) membolehkan YAML menggunakan semula sesuatu blok. JSON tiada rujukan, jadi setiap alias digantikan dengan salinan penuh blok yang di-anchor.
- JSON boleh menjadi jauh lebih panjang daripada YAML
- Kunci gabungan (
<<: *defaults) dikembangkan dengan cara yang sama
Baris yang bermula dengan # ialah dokumentasi untuk manusia. JSON tiada tempat untuknya, jadi komen dibuang.
- Simpan YAML dalam kawalan versi sebagai sumber yang berkomen
2026-10-18 tanpa tanda petikan ialah cap masa dalam banyak penghurai YAML. JSON tiada jenis tarikh, jadi ia ditulis sebagai rentetan "2026-10-18".
Aliran YAML boleh mengandungi beberapa dokumen yang dipisahkan oleh ---. Fail JSON hanya memuatkan satu nilai, jadi letakkan setiap dokumen dalam failnya sendiri apabila alat penerima mengharapkan satu objek.
{
"service": "billing",
"replicas": 3,
"ports": [8080, 9090],
"env": {
"LOG_LEVEL": "info",
"REGION": "NO"
}
}Fakta format YAML dan JSON
YAML
YAML
YAML ("YAML Ain't Markup Language") ialah format data mesra manusia yang mula dilancarkan pada 2001. Ia menggunakan lekukan dan bukannya kurungan, menyokong komen, dan merupakan superset JSON. Ia digunakan secara meluas untuk konfigurasi dalam Docker Compose, Kubernetes, GitHub Actions dan banyak aplikasi. Pergantungannya pada ruang kosong menjadikannya mudah rosak akibat satu ruang yang tersalah letak, dan sesetengah nilai, seperti "no" atau tarikh, boleh ditafsirkan secara tidak dijangka.
- Pemampatan
- –
- Ketelusan
- –
- Animasi
- –
- Diperkenalkan
- 2001 · Clark Evans, Ingy döt Net, Oren Ben-Kiki
JSON
JavaScript Object Notation
JSON ialah format teks ringan untuk data berstruktur, dipopularkan oleh Douglas Crockford pada awal 2000-an dan dipiawaikan sebagai RFC 8259 dan ECMA-404. Ia mewakili objek, tatasusunan, rentetan, nombor, boolean dan null dengan sintaks yang mudah dibaca. Ia ialah format lalai untuk API web, fail konfigurasi dan pertukaran data antara aplikasi dalam hampir semua bahasa pengaturcaraan. Ia tidak mempunyai komen, tarikh atau skema terbina dalam, dan fail bersarang yang besar sukar dibaca tanpa pemapar.
- Pemampatan
- –
- Ketelusan
- –
- Animasi
- –
- Diperkenalkan
- 2001 · Douglas Crockford
Orang menukar YAML ke JSON apabila konfigurasi atau spesifikasi yang ditulis untuk manusia perlu dimasukkan ke dalam mesin: permintaan API, pengesah skema atau alat tanpa penghurai YAML.
Soalan lazim penukar YAML ke JSON
Mengapa perlu menukar YAML ke JSON jika kedua-duanya menyimpan data yang sama?
Kerana banyak alat hanya boleh menghuraikan salah satu daripadanya. Pembaca JSON sedia ada dalam setiap bahasa pengaturcaraan dan pelayar, manakala YAML memerlukan pustaka tambahan. Badan permintaan untuk API REST, pengesah JSON Schema, jq, dan fail seperti package.json atau manifest.json sesuatu sambungan pelayar semuanya mengharapkan JSON.
Apakah yang berlaku kepada ulasan dalam YAML saya?
Komen dibuang. RFC 8259 tidak menyediakan sintaks komen untuk JSON, jadi baris yang bermula dengan # tiada tempat untuk diletakkan. Simpan fail YAML sebagai sumber berdokumen dan anggap JSON sebagai salinan janaan yang boleh dijana semula pada bila-bila masa.
Mengapa NO atau off bertukar menjadi false?
Penghurai yang mengikut YAML 1.1 membaca yes, no, on dan off sebagai boolean, jadi kod negara seperti NO untuk Norway boleh menjadi false. YAML 1.2 mengehadkan boolean kepada true dan false sahaja, tetapi tidak semua alat mengikutinya. Letakkan nilai sedemikian dalam tanda petikan di dalam YAML, seperti "NO", dan nilai itu kekal sebagai rentetan dalam JSON.
Bolehkah saya menukar templat CloudFormation yang ditulis dalam YAML?
AWS CloudFormation menerima kedua-dua format, tetapi tag ringkas seperti !Ref dan !GetAtt hanya wujud dalam YAML. Templat JSON menulisnya sebagai fungsi penuh, {"Ref": "MyBucket"} atau {"Fn::GetAtt": [...]}. Tulis semula tag ringkas dalam bentuk penuh sebelum menukar supaya templat JSON kekal sah.
Bagaimanakah cara menukar ke arah sebaliknya?
Gunakan JSON ke YAML. Ini arah yang lazim apabila respons API atau fail janaan perlu dijadikan fail konfigurasi yang mudah dibaca dalam repositori.