Penukar JSON ke YAML
Tulis semula JSON sebagai YAML yang mudah dibaca, disemak dan diberi komen. Muat naik fail .json dan dapatkan .yaml berinden dengan kunci, nilai dan susunan yang sama, sedia untuk dimasukkan ke dalam repositori.
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
Tambah fail JSON
Muat naik respons API, tetapan yang dieksport atau manifes yang dijana sebagai .json, sehingga 20 fail dan 95 MB setiap satu. Setiap fail mesti mengandungi satu nilai JSON yang sah.
- 2
Kekalkan tetapan lalai
YAML sudah dipilih di bawah Tukar ke. Tiada apa-apa lagi yang perlu diubah untuk fail konfigurasi; output menggunakan inden dua ruang.
- 3
Tukar dan commit
Tekan Tukar ke YAML, muat turun fail .yaml, tambah komen di tempat yang diperlukan oleh pembaca seterusnya, kemudian commit.
Bagaimana cara menukar JSON ke YAML?
Muat naik fail .json dan tekan Tukar ke YAML. Objek menjadi blok key: value berinden, tatasusunan menjadi senarai dengan sengkang, dan rentetan yang boleh disalah baca oleh YAML mengekalkan tanda petikannya.
Mengapa tukar JSON ke YAML untuk fail konfigurasi
Kebanyakan JSON dihasilkan oleh perisian: respons API, eksport tetapan, output penjana. Kebanyakan YAML diselenggara oleh manusia. Penukaran biasanya menandakan saat data berhenti menjadi output mesin dan menjadi sesuatu yang dimiliki oleh pasukan, seperti manifes penyebaran yang disimpan dalam Git, saluran paip CI atau set pemboleh ubah Ansible.
Kes biasa: anda memanggil API awan, menerima penerangan JSON 200 baris tentang sesuatu sumber, dan mahu menyimpannya sebagai kod infrastruktur. Penukaran memberi anda fail tanpa pendakap dan koma, tempat perubahan satu baris menghasilkan diff satu baris dan anda boleh menerangkan nilai pelik dalam komen. Perkara sama untuk fixture ujian dan fail terjemahan yang disunting oleh bukan pembangun. Jika anda perlukan jadual rata untuk hamparan atau laporan, JSON ke CSV lebih sesuai.
Alat yang menggunakan fail konfigurasi YAML
| Organisasi | Keperluan | Sumber |
|---|---|---|
| GitHub Actions | Aliran kerja terletak dalam .github/workflows sebagai fail .yml atau .yaml | GitHub Docs |
| GitLab CI/CD | Saluran paip ditakrifkan dalam .gitlab-ci.yml pada akar repositori | GitLab Docs |
| Docker Compose | Perkhidmatan diperihalkan dalam compose.yaml (dahulunya docker-compose.yml) | Docker Docs |
| Ansible | Playbook dan fail pemboleh ubah ditulis dalam YAML | Ansible Docs |
| Kubernetes | Manifes menerima JSON atau YAML; dokumentasi dan carta Helm menggunakan YAML | Kubernetes |
Contoh JSON ke YAML dengan nilai yang rumit
name: api version: "1.10" debug: false tags: - web - eu country: "NO" # kod ISO Norway
Kelebihan YAML
- Komen dengan #
- Diff lebih pendek dalam semakan kod
- Tiada pendakap, koma atau tanda petikan pada kebanyakan baris
- Teks berbilang baris dengan skalar blok |
Perkara yang perlu diberi perhatian
- Inden membawa makna, jadi satu ruang tersasar mengubah struktur
- Tab tidak dibenarkan untuk inden
- Rentetan tanpa tanda petikan boleh dibaca sebagai nombor atau boolean
- Penghurai lebih perlahan dan kurang seragam berbanding JSON
Contoh ini menunjukkan mengapa mencari dan menggantikan pendakap sahaja tidak mencukupi. Versi 1.10 ialah rentetan dalam JSON; jika ditulis tanpa petikan dalam YAML, ia akan dibaca sebagai nombor 1.1. NO, kod ISO bagi Norway, akan dibaca sebagai false oleh penghurai YAML 1.1 seperti PyYAML. Kedua-duanya mengekalkan tanda petikan, manakala nombor dan boolean sebenar kekal tanpa petikan.
Perbandingan JSON dan YAML
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
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
Orang menukar JSON ke YAML apabila data yang dijana atau data API perlu menjadi fail konfigurasi yang diselenggara oleh manusia, disemak dalam pull request dan diberi anotasi dengan komen.
Soalan lazim penukar JSON ke YAML
Adakah JSON sudah pun YAML yang sah?
Di bawah YAML 1.2, ya: semakan 2009 ditulis supaya setiap dokumen JSON juga merupakan dokumen YAML. Anda boleh menampal JSON ke dalam fail .yaml dan kebanyakan alat akan menerimanya. Penukaran adalah untuk kebolehbacaan: gaya blok tanpa pendakap, tanda petikan dan koma ialah yang dijangka oleh penyemak dan penyelenggara seterusnya.
Mengapakah sesetengah nilai diapit tanda petik dalam YAML?
Kerana tanpa tanda petikan, YAML akan membacanya sebagai jenis lain. Rentetan versi seperti 1.10 akan menjadi nombor 1.1, dan yes atau off boleh menjadi boolean dalam penghurai lama. Rentetan yang kelihatan seperti nombor, tarikh atau boolean memerlukan tanda petikan supaya kekal sebagai rentetan, jadi penukaran yang teliti mengekalkannya.
Bolehkah saya menambah komen selepas menukar?
Ya, dan itulah sebab biasa untuk menukar. Tulis # diikuti nota anda di hujung baris atau pada barisnya sendiri. JSON tiada cara untuk menerangkan mengapa sesuatu nilai ditetapkan; YAML ada, sekali gus memudahkan semakan dan serah tugas.
Mengapakah YAML saya gagal dengan ralat aksara tab?
Spesifikasi YAML melarang tab untuk inden; hanya ruang yang dikira. Penukar menulis ruang, tetapi editor yang ditetapkan untuk memasukkan tab boleh merosakkan fail pada suntingan seterusnya. Tetapkan editor anda untuk menggunakan ruang bagi fail .yaml.
Adakah Kubernetes akan menerima manifest yang ditukar?
kubectl membaca JSON dan YAML, jadi datanya sama sahaja; versi YAML cuma yang digunakan oleh kebanyakan dokumentasi, carta Helm dan semakan kod. Jika kemudian anda perlukan JSON semula untuk jq atau panggilan API, YAML ke JSON boleh membalikkannya.
- Penukar YAML ke JSONTukar fail .yaml dan .yml ke JSON untuk API, pengesah dan alat yang hanya membaca JSON. Berinden secara lalai, 20 fail sekali, dipadam dalam 30 minit.
- Penukar JSON ke XMLTukar JSON ke XML dalam talian: kunci jadi elemen, tatasusunan jadi elemen berulang, dalam tag akar pilihan Anda. Output kemas, tanpa akaun.
- Tukar JSON ke CSVTukar JSON atau JSON Lines ke CSV: satu baris setiap objek, medan bersarang diratakan, UTF-8 dengan BOM untuk Excel. 20 fail serentak.
- Penukar XML ke JSONTukar XML ke JSON yang mudah dibaca: atribut jadi kunci @, tag berulang jadi tatasusunan, teks kekal utuh. Untuk respons SOAP, suapan dan eksport lama.
- Penukar JSON ke Base64Kodkan fail JSON sebagai satu baris Base64 untuk Kubernetes Secrets, pemboleh ubah CI, muatan API dan token. Boleh dinyahkod bait demi bait.
- Penukar JSON ke ExcelTukar JSON atau JSON Lines ke helaian Excel XLSX: kunci jadi tajuk lajur, setiap rekod jadi baris. Sehingga 20 fail sekali gus, tanpa akaun.