Konverter JSON, YAML, dan CSV

Berjalan di browser Anda; tidak ada yang diunggah

Konversi antara JSON, YAML, dan CSV ke arah mana pun, dengan tampilan tabel untuk data CSV.

Input · JSON

Output · YAML

Converted YAML appears here as you type.

Ready
Ln 1, Col 1

Kegunaan JSON, YAML, dan CSV

JSON, YAML, dan CSV sama-sama mendeskripsikan data sebagai teks, tetapi untuk pekerjaan yang berbeda. JSON adalah format API web: ketat dan mudah di-parse oleh program. YAML menyimpan struktur yang sama dengan JSON (object, list, string, angka, boolean) tetapi memakai indentasi alih-alih kurung kurawal, sehingga lebih mudah diedit manual; spec OpenAPI, pipeline CI, serta file Docker Compose dan Kubernetes biasanya berupa YAML. CSV adalah tabel: satu baris header berisi nama kolom, lalu satu baris per record.

Konverter membaca input ke dalam satu model data lalu menuliskannya dalam format tujuan. Angka mempertahankan digit seperti saat ditulis, jadi ID 19 digit atau 1.50 tetap tidak berubah. Apa pun yang harus diputuskan oleh konversi (nilai yang dibaca YAML sebagai angka, object bersarang yang diratakan menjadi kolom, key yang muncul dua kali) dicantumkan di catatan di atas output.

YAML dibaca dengan core schema YAML 1.2, versi standar yang berlaku saat ini. true, false, dan null adalah nilai; yes, no, on, dan off tetap string, berbeda dengan library YAML 1.1 lama seperti PyYAML. Saat menulis YAML, konverter memberi tanda kutip pada setiap string yang bisa dibaca sebagai hal lain oleh salah satu versi, sehingga "yes", "007", dan "2024-01-01" terbaca kembali sebagai string yang sama di mana pun.

Cara memakai tool ini

  1. 1Pilih format di From dan To pada toolbar. Tempel data ke panel Input, seret file ke sana, atau tekan Ctrl+O untuk membuka file (hingga 5 MB); membuka file .yaml, .csv, atau .json otomatis mengatur From.
  2. 2Baca hasilnya di panel Output. Hasil diperbarui saat Anda mengetik. Jika melibatkan CSV, tab Table menampilkan baris dan kolomnya.
  3. 3Atur opsi yang muncul di toolbar: delimiter CSV (atau Detect), apakah baris pertama adalah header, apakah angka dan true/false menjadi nilai JSON, nesting nama kolom bertitik, dan cara array ditulis ke CSV.
  4. 4Jika input tidak valid, panel output dan status bar menunjukkan baris dan kolomnya. Tekan F8 untuk menaruh kursor di sana.
  5. 5Swap (Shift+Alt+S) memindahkan output ke input dan menukar formatnya, agar Anda bisa mengecek konversi bolak-balik. Ctrl+Z membatalkannya.
  6. 6Salin output, atau unduh dengan Ctrl+S.

Pemecahan masalah

Tab tidak boleh dipakai untuk indentasi di YAML
YAML hanya mengizinkan spasi untuk indentasi. Ganti tab di awal baris dengan spasi; sebagian besar editor bisa mengonversinya otomatis.
Nilai tidak boleh dilanjutkan dengan baris key:
Ada baris yang diindentasi di bawah key yang sudah punya nilai di barisnya sendiri. Hapus nilai setelah titik dua agar baris yang diindentasi menjadi anaknya, atau perbaiki indentasinya.
Key duplikat
YAML mewajibkan setiap key dalam mapping unik. Ganti nama atau hapus salah satunya; error menunjuk ke key kedua.
Baris 4 punya 5 field; header punya 4
Ada nilai di baris itu yang berisi delimiter tanpa tanda kutip, atau header kekurangan satu kolom. Beri tanda kutip pada nilainya ("Pune, MH") atau periksa delimiter yang dipilih.
Kode pos atau ID kehilangan nol di depan
Dari CSV, nilai seperti 007 tetap teks. Dari YAML, 007 tanpa tanda kutip adalah angka 7 menurut standar YAML, dan catatan menyebutkannya; beri tanda kutip di YAML agar tetap teks.
Beberapa dokumen YAML tidak didukung
Input berisi lebih dari satu dokumen yang dipisahkan ---, seperti yang sering ada di file Kubernetes. Konversi dokumennya satu per satu.

Pertanyaan umum

Fitur YAML apa saja yang didukung?

Mapping dan list blok, flow collection seperti [a, b] dan {a: 1}, string biasa, berkutip tunggal, dan berkutip ganda yang melewati beberapa baris, block string literal | dan folded > dengan indikator chomping, komentar, anchor dan alias, merge key <<, serta tag !!str. Key kompleks ?, tag lain, dan beberapa dokumen dalam satu input berhenti dengan error yang menyebut fiturnya, alih-alih menghasilkan data yang salah.

Bagaimana JSON bersarang ditulis ke CSV?

Setiap baris adalah satu object dari array. Object bersarang menjadi kolom dengan nama bertitik, seperti address.city. Secara default, array ditulis sebagai teks JSON dalam satu sel, atau disebar ke kolom bernomor (tags.0, tags.1) jika Anda memilih In columns. Kolomnya adalah gabungan key dari semua baris, dalam urutan kemunculan pertamanya. null menjadi sel kosong.

Tipe apa yang dihasilkan konversi CSV ke JSON?

Dengan Numbers aktif, sebuah nilai menjadi angka JSON hanya jika sudah ditulis persis seperti angka (42, -1.5, 1e3), dan true serta false menjadi boolean. 007, +5, dan 1,000 tetap teks, begitu juga sel kosong. Matikan Numbers untuk mempertahankan semua nilai sebagai string.

Apakah data saya dikirim ke server?

Tidak. Parsing dan konversi berjalan di browser Anda. Agar tidak hilang saat reload, apa yang Anda tempel disimpan di session storage tab ini sampai Anda menghapusnya atau menutup tab. Copy link menaruh input di link setelah tanda #, bagian yang tidak pernah dikirim browser ke server, tetapi siapa pun yang Anda beri link bisa membacanya. Pengaturan Anda, seperti format dan delimiter, disimpan di browser ini.