JSON to TOML Dönüştürücü
JSON yapıştırın, tarayıcınızda anında TOML alın. Güvenli null işleme, kök tablo denetimi, Cargo.toml ve pyproject.toml çıktısı. %100 çevrimiçi, yükleme yok.
Seçenekler · 2 boşluk
TOML Nedir ve Neden JSON'dan Dönüştürülür?
TOML (Tom's Obvious, Minimal Language), kesin ve insanların okuması ve düzenlemesi kolay olacak şekilde oluşturulmuş bir yapılandırma dosyası biçimidir. Rust ekosistemi (Cargo.toml), modern Python paketleme (pyproject.toml) ve Hugo, Netlify, Poetry ve Foundry gibi araçlar için standart yapılandırma biçimidir. JSON, araçların ve API'lerin ürettiği evrensel makine biçimidir. JSON'u TOML'a dönüştürmek, JSON olarak yapılandırılmış veriye sahip olup hedef olarak insan tarafından düzenlenebilir bir TOML yapılandırmasına ihtiyaç duyduğunuzda yaygındır — bir Cargo.toml ya da pyproject.toml üretmek veya bir uygulamanın JSON ayarlarını okunabilir bir yapılandırma dosyasına çevirmek gibi.
TOML, JSON'dan daha yapılandırılmıştır ve bu araç, o katılığı gizemli hatalar yerine rehberliğe dönüştürür:
**1. Üst düzey tablo zorunluluğu.** Her TOML belgesi kökte bir tablodur — çıplak bir dizi veya skaler geçerli TOML değildir. { üst düzey dizi } girişi için bozuk çıktı yaymak yerine, bu araç bunu tespit eder ve verinizi bir anahtar altına tam olarak nasıl saracağınızı söyler, böylece her zaman geçerli TOML ya da net bir açıklama alırsınız.
**2. Güvenli, şeffaf null işleme.** JSON'da null vardır; TOML'da yoktur. Çoğu dönüştürücü ya çöker ya da veriyi sessizce atar. Bu araç açıktır: null değerli nesne anahtarları bırakılır ve kaldırılan anahtarlar bir uyarıda listelenir; bir dizinin içindeki null — geçerli bir TOML temsili olmayan — kesin, yol gösteren bir hata üretir. Eksik veriyle asla şaşırmazsınız.
**3. Doğal TOML çıktısı.** İç içe nesneler [tablolar] olur, derin iç içe nesneler noktalı tablolar ([tool.ruff]) olur ve nesne dizileri tablo dizileri ([[section]]) olur — gerçek Cargo.toml ve pyproject.toml dosyalarının kullandığı biçim. Dönüştürme, sıfır bağımlılıklı, TOML 1.0.0 uyumlu smol-toml kütüphanesiyle güçlendirilmiştir.
**4. %100 tarayıcı tabanlı gizlilik.** JSON'unuz — kimlik bilgileri, belirteçler veya dahili hizmet ayrıntıları içerebilir — tarayıcınızdan asla ayrılmaz. Yükleme yok, sunucu yok, günlük yok. Bunu tarayıcınızın Ağ sekmesinde doğrulayın.
Ters yönü mü istiyorsunuz? TOML to JSON Dönüştürücü aracını kullanın. Diğer yapılandırma biçimleriyle mi çalışıyorsunuz? JSON to YAML Dönüştürücü ve YAML to JSON Dönüştürücü araçlarını deneyin veya JSON girişinizi önce JSON Biçimlendirici ile temizleyin. Her biçimin bir yeri vardır: makine değişimi için JSON, insan tarafından düzenlenen uygulama ve araç yapılandırması için TOML ve derin iç içe altyapı manifestoları için YAML. Bu dönüştürücü, herhangi bir kod yazmadan JSON'dan TOML'a geçiş yapmanızı sağlar.
// Convert JSON to TOML in Node.js using the smol-toml library
import { stringify } from 'smol-toml';
const data = JSON.parse(`{
"package": { "name": "my-app", "version": "1.0.0" },
"dependencies": { "serde": { "version": "1.0" } }
}`);
// The top-level value must be an object; null values on objects are dropped.
const toml = stringify(data);
console.log(toml);
// [package]
// name = "my-app"
// version = "1.0.0"
//
// [dependencies.serde]
// version = "1.0" Temel Özellikler
Canlı Dönüştürme
TOML çıktısı, JSON yazarken veya yapıştırırken anında güncellenir — Dönüştür düğmesi gerekmez. Büyük girişler (>200KB) tarayıcıyı yanıt verir tutmak için otomatik olarak manuel moda geçer.
Üst Düzey Tablo Rehberliği
TOML belgeleri kökte bir tablo olmalıdır. JSON üst düzeyiniz bir dizi veya skalerse, araç bunu bir anahtar altına tam olarak nasıl saracağınızı söyler — bozuk çıktı yok, tahmin yok.
Güvenli Null İşleme
TOML'da null yoktur. Null değerli nesne anahtarları bırakılır ve bir uyarıda listelenir; bir dizinin içindeki null, kesin, yol gösteren bir hata oluşturur. Verinize ne olduğunu her zaman bilirsiniz.
Doğal TOML Çıktısı
İç içe nesneler [tablolar] olur, derin iç içe nesneler noktalı tablolar ([tool.ruff]) olur ve nesne dizileri tablo dizileri ([[section]]) olur — gerçek Cargo.toml ve pyproject.toml'un kullandığı biçim.
Kayan Sayı ve Tam Sayı Farkındalığı
TOML tam sayıları kayan sayılardan ayırır, bu nedenle 1.0 gibi bir kayan sayı tam sayı 1 olarak yazılır. Bu zorlama bir değerin türünü değiştirdiğinde araç sizi uyarır, böylece gidiş-dönüş sürprizleri görünür olur.
%100 Tarayıcı Tabanlı Gizlilik
Tüm ayrıştırma tarayıcınızda yerel olarak çalışır. JSON'unuz — kimlik bilgileri, belirteçler ve dahili hizmet ayrıntıları dahil — asla yüklenmez, saklanmaz veya günlüğe kaydedilmez.
Örnekler
Cargo.toml kaynağı
{
"package": {
"name": "my-app",
"version": "1.0.0",
"edition": "2021"
},
"dependencies": {
"serde": { "version": "1.0", "features": ["derive"] },
"tokio": { "version": "1", "features": ["full"] }
}
} JSON'dan bir Rust Cargo.toml üretin — iç içe nesneler [tablolar] olur ve satır içi nesneler tam olarak Cargo'nun beklediği gibi satır içi tablolar olur.
pyproject.toml kaynağı
{
"build-system": {
"requires": ["hatchling"],
"build-backend": "hatchling.build"
},
"project": {
"name": "my-package",
"version": "0.3.1",
"requires-python": ">=3.10",
"dependencies": ["requests>=2.31", "pydantic>=2.0"]
}
} JSON proje meta verisinden bir PEP 621 pyproject.toml üretin — bir aracın veya API'nin ürettiği JSON'a TOML biçiminde ihtiyaç duyduğunuzda kullanışlıdır.
Uygulama ayarları
{
"title": "My Service",
"debug": false,
"port": 8080,
"database": {
"host": "localhost",
"port": 5432,
"pool_size": 10
},
"features": ["auth", "metrics", "tracing"]
} Düz bir uygulama ayarları nesnesini TOML'a dönüştürün — üst düzey skalerler üstte kalır ve iç içe database nesnesi bir [database] tablosu olur.
Sunucular (tablo dizisi)
{
"servers": [
{ "name": "alpha", "ip": "10.0.0.1", "ports": [8001, 8002] },
{ "name": "beta", "ip": "10.0.0.2", "ports": [9001] }
]
} Bir nesne dizisi, TOML'da bir tablo dizisi ([[servers]]) olur — tekrarlanan bölümleri ifade etmenin doğal yolu.
Netlify yapılandırma kaynağı
{
"build": {
"command": "npm run build",
"publish": "dist",
"environment": { "NODE_VERSION": "20" }
},
"redirects": [
{ "from": "/old", "to": "/new", "status": 301, "force": true }
]
} Bir JSON dağıtım yapılandırmasını, iç içe [build] ve [build.environment] tabloları ve bir [[redirects]] tablo dizisiyle netlify.toml'a dönüştürün.
Noktalı yapıya sahip yapılandırma
{
"tool": {
"ruff": { "line-length": 100, "target-version": "py310" },
"black": { "line-length": 100 }
}
} Derin iç içe JSON nesneleri, [tool.ruff] ve [tool.black] gibi noktalı TOML tabloları olur — pyproject.toml araçlarının beklediği biçim.
Nasıl Kullanılır
- 1
JSON'unuzu Yapıştırın
JSON'unuzu yukarıdaki giriş alanına girin veya yapıştırın. Bir Cargo.toml kaynağı, pyproject.toml kaynağı ya da uygulama ayarları nesnesi denemek için 'Örnek yükle'ye de tıklayabilirsiniz.
- 2
Canlı TOML Çıktısını Görün
TOML, çıktı panelinde anında görünür. JSON'unuzda üst düzey bir dizi veya null değerler varsa, araç bozuk çıktı üretmek yerine tam olarak ne yapmanız gerektiğini açıklar.
- 3
Kopyalayın veya İndirin
TOML'u panonuza almak için Kopyala'ya veya Cargo, Poetry, Hugo, Netlify ya da TOML okuyan herhangi bir araç için hazır bir .toml dosyası olarak kaydetmek için İndir'e tıklayın.
Yaygın JSON-TOML Tuzakları
Üst Düzey Dizi veya Skaler
TOML belgeleri kökte bir tablo (nesne) olmalıdır. Bir JSON dizisi veya tek bir değer bir TOML belgesi olamaz. Dönüştürmek için bir anahtar altına sarın.
[1, 2, 3]
{ "items": [1, 2, 3] } Nesnelerdeki Null Değerler
TOML'da null türü olmadığından, null değerli bir nesne anahtarı dönüştürme sırasında bırakılır. Araç hangi anahtarların kaldırıldığı konusunda sizi uyarır. Anahtarı korumanız gerekiyorsa, ona gerçek bir değer veya boş bir dize verin.
{ "name": "a", "nickname": null } { "name": "a", "nickname": "" } Bir Dizinin İçindeki Null
Bir TOML dizisi bir null veya bir boşluk içeremez, bu nedenle [1, null, 3] gibi JSON'un geçerli TOML çıktısı yoktur. Dönüştürmeden önce null'u kaldırın veya gerçek bir değerle değiştirin.
{ "ports": [8001, null, 8003] } { "ports": [8001, 8003] } Geçersiz JSON Söz Dizimi
Girişin önce geçerli JSON olması gerekir. Sondaki virgüller, tek tırnaklar ve tırnaksız anahtarlar, JavaScript'ten kopyalanan, geçerli JSON olmayan ve dönüştürmeden önce düzeltilmesi gereken yaygın hatalardır.
{ 'name': 'a', 'active': true, } { "name": "a", "active": true } Sıfır Kesirli Kayan Sayı Tam Sayı Olur
TOML, kesirli kısmı sıfır olan bir kayan sayıyı (1.0) tam sayı 1 olarak yazar ve gidiş-dönüşte türünü değiştirir. Araç sizi uyarır. Değer kavramsal olarak bir tam sayıysa bu sorun değildir; kayan sayı olarak kalması gerekiyorsa, TOML bunu tam sayılar için koruyamaz.
{ "ratio": 1.0 } → ratio = 1 { "ratio": 1.5 } → ratio = 1.5 Aynı Anahtarda Nesne ve Diziyi Karıştırma
Bir JSON anahtarının bir tabloya veya tablo dizisine eşlenmesi için tutarlı biçimde bir nesne ya da bir dizi olması gerekir. Bir veri kümesindeki tutarsız biçimler kafa karıştırıcı TOML üretebilir — önce yapıyı normalleştirin.
{ "server": { "a": 1 }, "server": [1] } { "server": { "a": 1 }, "servers": [1] } Yaygın Kullanım Senaryoları
- Cargo.toml Üret
- Yapılandırılmış JSON'u — bir iskele aracından, bir API'den veya bir betikten — iç içe [dependencies] tabloları ve otomatik olarak üretilen satır içi tablolarla geçerli bir Rust Cargo.toml'a dönüştürün.
- pyproject.toml Üret
- JSON proje meta verisini, noktalı [tool.*] tabloları dahil olmak üzere bir PEP 621 pyproject.toml'a dönüştürün, böylece JSON yayan araçlar Python paketleme yapılandırması üretebilir.
- JSON'dan İnsan Tarafından Düzenlenebilir Yapılandırma
- Bir uygulamanın JSON ayarlarını, insanların rahatça düzenleyebileceği okunabilir bir TOML yapılandırma dosyasına dönüştürün ve daha sonra elle yorumlar ekleyin.
- Dağıtım Yapılandırması Üretimi
- JSON'dan netlify.toml, foundry.toml veya benzeri platform yapılandırmaları üretin; iç içe nesneleri ve nesne dizilerini bu araçların beklediği tablolara ve tablo dizilerine dönüştürün.
- Yapılandırma Biçimi Geçişi
- Yapılandırmayı JSON tabanlı bir sistemden TOML tabanlı bir sisteme taşıyın; bu dönüştürücüyü köprü olarak ve eşlenmeyecek her şeyi yakalamak için null ve üst düzey uyarılarını kullanın.
- TOML Yapısı Prototipleme
- Bir yapılandırmayı JSON olarak taslaklaştırın — çoğu geliştiricinin akıcı biçimde yazdığı bir biçim — sonra bir depoya işlemeden önce doğal tablo ve tablo dizisi düzenini görmek için TOML'a dönüştürün.
Teknik Ayrıntılar
- RFC 8259 JSON Ayrıştırma
- JSON girişi, tam RFC 8259 uyumlu olan tarayıcının yerel JSON.parse() işleviyle ayrıştırılır. Seri hale getirmeden önce araç, üst düzey değerin bir nesne olduğunu doğrular ve bırakılan nesne anahtarları hakkında uyarabilmesi ya da bir dizinin içindeki bir null'u kesin bir yolla reddedebilmesi için null değerleri tarar.
- smol-toml ile TOML 1.0.0 Çıktısı
- TOML, sıfır bağımlılıklı, tam TOML 1.0.0 uyumlu bir seri hale getirici olan smol-toml kütüphanesiyle üretilir. İç içe nesneler tablolar olur, derin iç içe nesneler noktalı tablolar olur ve nesne dizileri tablo dizileri olur. Kesirli kısmı sıfır olan kayan sayılar, TOML kurallarına göre bir uyarıyla tam sayı olarak yazılır.
- %100 Tarayıcı Tabanlı — Yükleme Yok, Sunucu Yok
- Tüm işlemler tarayıcınızın JavaScript motorunda gerçekleşir. Hiçbir noktada veri iletilmez. 200KB'ın üzerindeki girişler, arayüzü yanıt verir tutmak için canlıdan manuel moda (açık bir Dönüştür tıklaması) geçer.
En İyi Uygulamalar
- Üst Düzey Dizileri Bir Anahtar Altına Sarın
- Verileriniz doğal olarak bir JSON dizisiyse, dönüştürmeden önce bunu açıklayıcı bir anahtara sahip bir nesneye ({ "items": [...] }) sarın. TOML belgeleri kökte bir tablo olmalıdır ve anahtar, dizinize çıktıda net bir ad verir.
- Null'ların Ne Anlama Gelmesi Gerektiğine Karar Verin
- Dönüştürmeden önce, bir null alanın kaybolması (anahtarı bırakmak) mı yoksa bir değer taşıması mı gerektiğine karar verin. TOML nesne null'larını bırakır ve dizi null'larını reddeder, bu nedenle bunları önce JSON'unuzda çözmek öngörülebilir, eksiksiz çıktı verir.
- Gruplama İçin İç İçe Nesneler Kullanın
- İlgili ayarları JSON'unuzda iç içe nesnelerde gruplayın — bunlar TOML'da temiz [tablolar] ve noktalı tablolar olur; bu, düz bir anahtar listesinden çok daha okunabilirdir ve Cargo ile pyproject yapılandırmalarının düzenlendiği biçimle örtüşür.
- Önce JSON'unuzu Doğrulayın
- JSON'unuz elle yazılmışsa veya güvenilmez bir kaynaktan geliyorsa, TOML'a dönüştürmeden önce sondaki virgülleri ve tırnak hatalarını yakalamak için JSON Biçimlendirici aracımızla doğrulayın.
- Dönüştürdükten Sonra Yorumlar Ekleyin
- JSON'da yorum yoktur, bu nedenle hiçbiri aktarılmaz. TOML # yorumlarını desteklediğinden, üretilen TOML'a elle belgeleme ekleyin — insan tarafından düzenlenen yapılandırmayı TOML'a taşımanın ana nedenlerinden biri budur.
Sıkça Sorulan Sorular
JSON'u TOML'a çevrimiçi nasıl dönüştürürüm?
TOML nedir ve neden JSON ondan dönüştürülür?
JSON'umun üst düzeyi neden bir nesne olmalıdır?
JSON'u TOML'a dönüştürürken null değerlere ne olur?
İç içe nesneler ve diziler TOML'a nasıl dönüştürülür?
1.0 gibi kayan noktalı sayılara ne olur?
JSON verim herhangi bir sunucuya gönderiliyor mu?
TOML'u tekrar JSON'a dönüştürebilir miyim?
JSON'u komut satırında TOML'a nasıl dönüştürürüm?
JSON'u Python, Rust veya Node.js'te TOML'a nasıl dönüştürürüm?
Dönüştürücü anahtar sırasını korur mu?
JSON girişi için bir dosya boyutu sınırı var mı?
İlgili Araçlar
Tüm araçları görüntüleyin →Base64 Çözücü ve Kodlayıcı
Kodlama ve Biçimlendirme
Base64'ü ücretsiz çevrimiçi kodlayın ve çözün. Tam UTF-8 ve emoji desteğiyle gerçek zamanlı dönüştürme. %100 tarayıcıda — kayıt gerekmez.
Base64'ü Görsele Çevirme Aracı
Kodlama ve Biçimlendirme
Bir Base64 dizesini ya da data URI'yi tarayıcınızda görsele geri çözün. Önizleyin, boyutları ve MIME'ı okuyun, ardından PNG, JPG, GIF, SVG olarak indirin. Yükleme yok.
CSV'den JSON'a Dönüştürücü
Kodlama ve Biçimlendirme
CSV'yi tarayıcınızda JSON'a dönüştürün. RFC 4180, tür çıkarımı, başlık satırı, büyük tam sayı güvenli. %100 gizli, yükleme yok.
.env'den JSON'a Dönüştürücü
Kodlama ve Biçimlendirme
Bir .env dosyası yapıştırın, anında JSON alın. Sırlarınız tarayıcınızdan asla çıkmaz — %100 gizli, yükleme yok, ücretsiz dotenv ayrıştırıcı.
Ücretsiz HTML Varlık Çözücü — HTML Unescape
Kodlama ve Biçimlendirme
HTML varlıklarını çözün ve HTML'i çevrimiçi unescape edin — ücretsiz, kayıt yok, %100 tarayıcınızda. Adlı, ondalık & hex referansları tekrar karaktere çevirir; asla yüklenmez.
Ücretsiz HTML Varlık Kodlayıcı — HTML Escape
Kodlama ve Biçimlendirme
HTML varlıklarını kodlayın ve özel karakterleri (< > & " ') çevrimiçi escape edin — ücretsiz, kayıt yok, %100 tarayıcınızda. Adlı, ondalık veya hex çıktı; asla yüklenmez.