JSON Stringify

JSON verisini kod, URL veya metin alanına kolayca yapıştırılabilen stringe dönüştürün ve gerektiğinde tekrar JSON olarak geri alın.

İlgili Öneriler

JSON Stringify ve string olarak gömme nedir?

JSON Stringify, JSON nesnesini veya dizisini string gösterimine dönüştürme işlemidir. JavaScript'te bunun standart yolu `JSON.stringify()` kullanmaktır.

Gerçek projelerde bu çıktı çoğu zaman kaynak koda, veritabanı alanına, URL parametresine veya başka bir JSON içine string değer olarak yerleştirilir. Bu durumda tırnak, satır sonu ve ters eğik çizgi karakterlerini bir kez daha escape etmek gerekir.

Bu araç standart stringify işlemini yapar, ardından dış tırnakları ekleyip gerekli escape'leri uygular. Parse modu da tam tersini yaparak okunabilir JSON'u geri getirir. Her şey yerel olarak tarayıcıda çalışır.

Kullanım senaryoları

  • JSON'u JavaScript / Java / Python / Go içinde string literal olarak kullanmak
  • API yanıtını başka bir JSON alanı içinde string olarak saklamak
  • JSON stringini DB TEXT alanına veya Redis değerine yazmak
  • JSON'u URL query parametresi veya header üzerinden taşımak
  • Log ve config dosyalarındaki escape edilmiş JSON'u tekrar okunur hale getirmek

Nasıl Kullanılır

  1. Soldaki alana JSON veya string yapıştırın ya da örnek / dosya yükleme kullanın
  2. Stringify veya Parse modunu seçin ve gerekirse çıktı biçimini ayarlayın
  3. Sağdaki sonucu inceleyin ve koda, dokümana veya config'e kopyalayın
  4. İsterseniz `stringified.txt` ya da `parsed.json` olarak indirin

Özellikler

  • Çift yönlü mod: Stringify ve Parse arasında geçiş yaparak iki yönlü dönüşüm sağlar
  • Otomatik escape: tırnak, backslash, satır sonu ve sekme karakterlerini güvenli biçimde işler
  • Farklı çıktı biçimleri: dış tırnaklı string, biçimlendirilmiş JSON veya tek satırlık compact çıktı alabilirsiniz
  • Koda gömmeye uygun: JavaScript, Java, Python ve Go içinde kullanıma elverişli sonuç üretir
  • URL ve veritabanı senaryoları için elverişli: JSON'u metin alanlarında saklamak veya servisler arasında taşımak kolaylaşır
  • Tamamen yerel işlem: serileştirme ve geri çözme tarayıcı içinde yapılır

Kod Örnekleri

JavaScript: JSON'u gömülebilir stringe dönüştürme

javascript
const data = { name: 'Alice', age: 30, tags: ['dev', 'writer'] };
const json = JSON.stringify(data, null, 2);
const embedded = '"' + json
  .replace(/\\/g, '\\\\')
  .replace(/"/g, '\\"')
  .replace(/\n/g, '\\n')
  .replace(/\r/g, '\\r')
  .replace(/\t/g, '\\t') + '"';

Python: json.dumps ile yeniden escape etme

python
import json

data = {"name": "Alice", "age": 30}
pretty = json.dumps(data, indent=2, ensure_ascii=False)
embedded = json.dumps(pretty)
restored = json.loads(json.loads(embedded))

jq: JSON dosyasını stringe çevirme

bash
jq -Rs . data.json

echo '"{\"name\":\"Alice\"}"' | jq -r .

Sık Sorulan Sorular

JSON Stringify ile JSON.stringify() aynı şey mi?

Temel serileştirme mantığı aynıdır, ancak bu araç gömme için dış tırnak ve iç escape'leri de otomatik ekler.

JSON Escape ile farkı nedir?

JSON Stringify tüm JSON nesnesi üzerinde çalışır; JSON Escape ise düz string içindeki özel karakterleri işler.

Stringify sonrası JSON okunamaz hale gelir mi?

Hayır. Pretty çıktıda satır sonları ve girintiler korunur, böylece sonuç okunabilir kalır.

Parse modu `\n` ve `\"` dizilerini geri açabilir mi?

Evet. Girdi doğru escape edilmişse dış tırnakları kaldırır ve özel karakterleri geri yükler.

Çıktıyı doğrudan URL içine koyabilir miyim?

JSON açısından güvenlidir, ama URL için ayrıca `encodeURIComponent` kullanmanız tavsiye edilir.

İç içe JSON için uygun mu?

Evet. İçteki JSON'u stringe çevirip dış JSON içinde string değer olarak saklayabilirsiniz.

Sonucu dosya olarak indirebilir miyim?

Evet. Stringify modu `stringified.txt`, Parse modu `parsed.json` olarak indirir.

Verilerim sunucuya gönderiliyor mu?

Hayır. Her şey yerel çalıştığı için hassas JSON içerikleri de daha güvenli biçimde işlenir.

Sorun Giderme

Stringify sırasında Invalid JSON hatası alıyorum

Sona eklenmiş virgül, tek tırnak, tırnaksız key veya yorum satırı buna neden olabilir.

Parse sonrası sonuç JSON olmuyor

Dış tırnak eksik olabilir veya backslash dizileri bozulmuş olabilir. Girdi stringini kontrol edin.

Koda yapıştırınca SyntaxError oluşuyor

Tırnak ve backslash'leri elle değiştirince sonuç kolayca bozulur. Mümkünse aracı çıktısını aynen kullanın.

Büyük JSON dosyalarında tarayıcı yavaşlıyor

Birkaç MB üstünde bellek kullanımı artar. Büyük veriler için Node.js veya Python tercih edin.

Türkçe karakterler veya emoji `\uXXXX` olmuyor

Bu normaldir. JSON Unicode karakterleri doğrudan taşıyabilir. `\uXXXX` gerekiyorsa çıktı sonrası ek dönüşüm yapın.

Sözlük

JSON.stringify
JavaScript'in bir değeri JSON stringe çevirmek için kullandığı yerleşik metottur.
JSON.parse
JSON stringini tekrar nesneye veya diziye dönüştüren yerleşik JavaScript metodudur.
Serialize
Bellekteki veri yapısını saklanabilir veya aktarılabilir metin biçimine dönüştürme işlemidir.
Deserialize
String halindeki veriyi tekrar orijinal veri yapısına döndürme işlemidir.
Escape
Özel karakterlerin önüne ters eğik çizgi ekleyerek dış sözdizimini bozmadan güvenli hale getirme işlemidir.
String Literal
Kaynak kod içinde tırnaklarla çevrili sabit string değerdir.
Double-Escape
Zaten escape edilmiş stringin başka bir katmana gömülürken yeniden escape edilmesidir.
URL Encode
URL özel karakterlerini `%XX` biçimine dönüştürme işlemidir; JSON escape'ten ayrıdır.

JSON Stringify karakter escape tablosu

Orijinal karakterStringify sonrasıAdAçıklama
"\"Çift tırnakDış string'i kapatmaması için zorunlu
\\\Ters eğik çizgiEscape karakterinin kendisi de iki kez yazılır
Satır sonu\nNewlineÇok satırlı içeriği tek satır stringe koymak için gerekir
Sekme\tTabKontrol karakteri olarak escape edilir
CR\rCarriage ReturnWindows satır sonunun parçası
//SlashÇoğu durumda olduğu gibi kalabilir

JSON.stringify ile bu araç arasındaki fark

AraçGirdiÇıktıTipik kullanım
JSON.stringify()JS nesnesiStandart JSON stringAPI, dosya kaydı, normal serileştirme
Bu aracın Stringify moduJSON nesnesiDış tırnaklı gömülebilir stringKod, DB, URL, iç içe JSON
Bu aracın Parse moduEscape edilmiş stringStandart JSON nesnesiLog veya DB içindeki JSON'u geri açmak
JSON EscapeDüz stringSadece özel karakterleri escape edilmiş stringMetin parçalarını güvenli hale getirmek

Authoritative References