İçeriğe geç
LeedyBox
Destek ol

JSON / CSV / YAML / SQL / XML Dönüştürücü

Yaygın geliştirme işleri için verileri tarayıcınızda yerel olarak dönüştürün ve doğrulayın.

Dönüştür:

SQL girdisi INSERT INTO ... VALUES ifadelerini destekler (MySQL, PostgreSQL, SQL Server ve SQLite stilleri); SELECT sonuçlarını CSV olarak yapıştırın. CSV değerleri metin olarak okunur. XML öznitelikleri "@attributes" altında, öznitelik veya alt öğelerle birlikte bulunan öğe metni "#text" altında tutulur. Her şey tarayıcınızda yerel olarak işlenir.

Sonuçları kullanmadan önce kontrol edin. Araç olduğu gibi ve herhangi bir garanti olmaksızın sunulur; sonuçlar eksik veya hatalı olabilir. Hizmet Koşulları

Biçimler birbirine bire bir karşılık gelmez. Veri türleri, iç içe değerler, özel karakterler ve çok büyük sayılar dönüştürme sırasında değişebilir. Oluşturulan SQL veritabanınızda denetlenmez; gerçek verilerde çalıştırmadan önce bir kopya üzerinde test edin.

Nasıl kullanılır

  1. Verinizi "Girdi verisi" kutusuna yapıştırın. "Girdi" menüsünü "Otomatik algıla" olarak bırakın veya biçimi biliyorsanız JSON, YAML, CSV, SQL ya da XML'i seçin.
  2. "Dönüştür" yanındaki biçimlerden birine tıklayın. Sonuç "Çıktı" alanında görünür; kutuların üstündeki mesaj dönüştürmeyi onaylar ve hassasiyet kaybetmiş olabilecek büyük sayılar, yeniden adlandırılan anahtarlar veya yok sayılan SQL ifadeleri gibi kontrol etmeniz gereken noktaları listeler. Girdi okunamazsa mesaj hatayı gösterir ve "Çıktı" temizlenir.
  3. O biçim için gösterilen seçenekleri ayarlayın: örneğin CSV için "Ayırıcı" ve "İç içe veri", SQL için "SQL veritabanı", "İfade" ve "Tablo", XML için "Kök" ve "Öğe". Her değişiklik mevcut girdiyi yeniden dönüştürür; bu yüzden biçim düğmesine tekrar tıklamanız gerekmez.
  4. Girdiyi dönüştürmeden kontrol etmek için "Sözdizimini doğrula" düğmesine tıklayın. Araç ya sözdiziminin geçerli olduğunu ya da neyin yanlış gittiğini bildirir; ayrıştırıcı bu bilgiyi veriyorsa satır ve sütunu da gösterir.
  5. "Çıktı" alanını kontrol edin, ardından "Sonucu kopyala" düğmesine tıklayın. "Temizle" iki kutuyu da boşaltır.

Sık sorulan sorular

Yapıştırdığım veriler bir yere gönderiliyor mu?

Hayır. Veriler tarayıcınızda JavaScript ile ayrıştırılır ve dönüştürülür; araç onları LeedyBox'a yüklemez veya kaydetmez. Sayfa açılırken doğrudan leedybox.com'dan iki açık kaynak kitaplık yüklenir: YAML için js-yaml ve CSV için PapaParse. Bunlar sayfanın içinde çalışır ve verileriniz hiçbir yere gönderilmez.

"Otomatik algıla" biçimi nasıl seçer ve biçimi ne zaman kendim seçmeliyim?

{ veya [ ile başlayan girdi JSON, < ile başlayan girdi XML olarak okunur; INSERT, CREATE, SET, START, UPDATE veya WITH gibi bir SQL anahtar sözcüğü ve ardından bir boşlukla ya da -- veya /* yorumuyla başlayan girdi ise SQL olarak okunur. Diğer girdiler, ilk satırında virgül, sekme veya noktalı virgül varsa önce CSV, ardından YAML olarak denenir. Şu durumlarda biçimi "Girdi" menüsünden kendiniz seçin: CSV veya YAML, aynı zamanda SQL anahtar sözcüğü olan bir sözcükle başlıyorsa (örneğin Start date veya Update time ile başlayan bir CSV başlık satırı), çünkü girdi bu durumda SQL olarak okunur ve dönüştürme başarısız olur; YAML girdisinin her satırında aynı sayıda virgül varsa (örneğin title: Hello, world satırının ardından tags: news, tech geliyorsa), çünkü girdi bu durumda CSV olarak okunabilir; otomatik algılamanın tanımadığı dikey çizgiyle ayrılmış veya tek sütunlu CSV'lerde; ve YAML ya da CSV girdisi okunamadığında, çünkü otomatik algılama bu durumda yalnızca biçimin tanınamadığını bildirir, seçilmiş bir biçim ise ayrıştırıcının kendi hatasını ve çoğu durumda hatanın nerede oluştuğunu gösterir.

Yorum, sonda virgül veya her satırda bir nesne içeren JSON kabul ediliyor mu?

"Girdi" menüsü JSON olarak ayarlıyken yalnızca geçerli JSON kabul edilir; metnin geçerli JSON olup olmadığını kontrol etmek için bu ayarı "Sözdizimini doğrula" ile birlikte kullanın. "Otomatik algıla" seçiliyken { veya [ ile başlayan ama geçerli JSON olmayan girdi mümkünse YAML akış sözdizimi olarak okunur ve bir not bunu belirtir: bu durumda sondaki virgüller, tek tırnaklar ve tırnaksız anahtarlar çalışır, ancak tırnaksız bir anahtarın iki noktasından sonra boşluk gerekir, çünkü {a:1}, değeri null olan a:1 adlı bir anahtar olarak okunur. // ve /* */ yorumları YAML'da yorum değildir; anahtarların veya değerlerin içine karışabilir ya da girdinin okunmasını engelleyebilir, bu yüzden önce bunları kaldırın. JSON Lines (NDJSON) çıktı biçimi olarak sunulur, ancak birden fazla satır içerdiğinde girdi olarak okunmaz; satırları [ ve ] arasına alın ve sonuncusu dışındaki her satırın sonuna virgül koyun.

YAML'dan dönüştürürken 1.10 neden 1.1'e, 01234 neden 1234'e dönüştü?

Tırnak içinde olmayan ve sayıya benzeyen YAML değerleri sayı olarak okunur; bu yüzden 1.10 gibi bir sürüm numarası 1.1, 01234 gibi bir posta kodu 1234, 0x1F ise 31 olur. Bu tür değerleri metin olarak korumak için YAML'da tırnak içine alın. Dönüştürücü YAML'ı js-yaml çekirdek şemasıyla (core schema) okur; bu şema mantıksal değerler ve tarihler için YAML 1.2'yi izler. Bu yüzden yes, no, on, off ve 2026-10-02 gibi tarihler metin olarak kalır, yalnızca True veya FALSE gibi true ve false biçimleri mantıksal değere dönüşür. JSON, YAML'a dönüştürülürken "01234", "1.10" veya "yes" gibi yanlış okunabilecek dizeler tırnak içinde yazılır.

Bir XML öğesi neden bir dosyada nesne, başka bir dosyada dizi oluyor?

Aynı üst öğenin altında tekrarlanan alt öğeler bir diziye dönüşür, tek bir alt öğe ise düz bir değer veya nesne olur; bu yüzden tek bir <item> içeren bir <items> öğesi, iki <item> içerenden farklı bir yapı verir. Her XML değeri metin olarak okunur; bu yüzden <id>1</id>, "1" olur ve 007 baştaki sıfırlarını korur, yorumlar ve işleme talimatları ise atılır. CSV ve SQL çıktısında satırlar, <items> gibi tek anahtarlı sarmalayıcıların içindeki diziden alınır; bu yüzden yalnızca bir <item> varsa öğenin tamamı tek bir sütunda JSON metni olarak kalır. CSV için "Düzleştir (a.b.c sütunları)" bunu sütunlara böler.

Bir MySQL veya PostgreSQL dökümünü SQL girdisi olarak yapıştırabilir miyim?

Evet, satırlar INSERT INTO ... VALUES ifadelerinde olduğu sürece. CREATE TABLE, SET, LOCK ve benzeri hazırlık ifadeleri atlanır, DROP TABLE gibi diğer ifadeler bir notla birlikte yok sayılır ve birden fazla tablodaki satırlar tek bir listede birleştirilir; bu yüzden tabloların sütunları farklıysa tabloları tek tek yapıştırın. mysqldump varsayılan olarak sütun adlarını yazmaz; bu yüzden dökümü --complete-insert ile almadıkça sütunlar column1, column2 vb. olarak adlandırılır. pg_dump varsayılan olarak satırları, aracın okumadığı COPY blokları hâlinde yazar; bu yüzden dökümü bunun yerine --column-inserts ile alın. Döküm fonksiyonlar veya saklı yordamlar da içeriyorsa yalnızca INSERT ifadelerini yapıştırın: araç girdiyi noktalı virgüllerden böler; bu yüzden bir fonksiyon gövdesindeki INSERT veri olarak okunabilir veya dönüştürmeyi durdurabilir.

CSV dosyasındaki sayılar neden tırnak içinde çıkıyor ve "CREATE TABLE + INSERT" hangi sütun türlerini kullanıyor?

Her CSV değeri metin olarak ele alınır; bu, 01234 gibi baştaki sıfırları korur ama 42'yi JSON'da "42", SQL'de '42' yapar ve boş bir hücre null veya NULL yerine boş bir dize olur. Her sütunun türü o sütundaki değerlere göre seçilir; bu yüzden CSV'den oluşturulan bir tablo metin sütunları alır: VARCHAR(255) veya bir değer 255 karakterden uzunsa TEXT (SQL Server için NVARCHAR(255) veya NVARCHAR(MAX), SQLite için TEXT). Girdi JSON veya YAML olduğunda, bir sütundaki tüm değerler tırnaksız sayılarsa ya da tüm değerler true veya false ise sütun bunun yerine sayı veya mantıksal değer türü alır: bir tam sayı türü (veritabanına ve sayıların büyüklüğüne göre INT, INTEGER veya BIGINT), ondalık sayılar için bir kayan noktalı sayı türü ya da BOOLEAN (SQL Server için BIT, SQLite için INTEGER). İfadede birincil anahtar, dizin veya NOT NULL kısıtlaması yoktur; tablonuzun bunlara ihtiyacı varsa ifadeyi çalıştırmadan önce ekleyin.