JSON'den Markdown'a

Ücretsiz çevrimiçi JSON'den Markdown'a dönüştürme aracı. JSON dizilerini veya iç içe nesneleri tek tıklamayla GitHub README, teknik dokümantasyon ve bloglarda kullanıma hazır GFM Markdown tablo koduna dönüştürün. 4 iç içe işleme modu, ayarlanabilir düzleştirme derinliği (1-6), özel ayırıcı, anahtar güzelleştirme (user_name → User Name), sütun sıralama, akıllı çoklu tablo bölme, akıllı null yer tutucular, hizalama, 9 seçenek canlı önizleme. Tamamen tarayıcıda yerel.

İlgili Öneriler

JSON'den Markdown'a Dönüşüm ve Markdown Tabloları Hakkında

JSON'den Markdown'a dönüştürücü, JSON veri yapılarını otomatik olarak standart GFM (GitHub Flavored Markdown) tablo koduna dönüştüren pratik bir araçtır. Geliştiricileri elle `|` / `-` tablo ayırıcıları yazma tekrarından kurtarır ve API'den dönen iç içe verileri, yapılandırma dosyalarını veya herhangi bir JSON yapısını hızlıca teknik dokümantasyon, README, blog olarak göstermek için özellikle uygundur.

Markdown tablosu, John Gruber tarafından 2004'te Markdown sözdiziminde önerilen saf metin tablo gösterimidir: `|` hücreleri ayırır, `-` başlık ayırıcı satırını tanımlar, isteğe bağlı `:` hizalamayı kontrol eder. GFM (GitHub Flavored Markdown) standart Markdown'ı temel alarak tablo sözdizimini genişletmiştir ve GitHub, GitLab, Bitbucket, Notion, Confluence, Slack, Discord, VS Code gibi modern platformların çoğunda yerel olarak desteklenir. Bu aracın ürettiği kod GFM spesifikasyonuna sıkı sıkıya bağlıdır.

Piyasadaki JSON'den Markdown'a araçları üç kategoriye ayrılır: birincisi yalnızca Markdown kod dizesi üretir; ikincisi gelişmiş yapılandırma sunar (derinlik düzleştirme/anahtar güzelleştirme/çoklu tablo bölme) — bu araç bunu temsil eder; üçüncüsü Markdown ters ayrıştırmayı (Markdown → JSON) destekler.

'İç içe düzleştirme + anahtar güzelleştirme' bu aracın rakiplere göre en büyük farkıdır: geleneksel araçlar `{user:{name:'Alice'}}` ile karşılaştığında doğrudan `{"name":"Alice"}` dizesi olarak görüntüler, bu araç ise özyinelemeli olarak `user.name` sütununa genişletir (en fazla 6 katman derinlik, ayırıcı yapılandırılabilir) ve `user_name`/`userProfileId` otomatik olarak `User Name`/`User Profile Id` stili başlıklara dönüştürür. Yani GitHub API, Stripe API, Notion API gibi iç içe yapısı karmaşık gerçek iş verilerini önceden jq/lodash ile düzleştirmeden doğrudan işleyebilir.

Bir diğer farklılaştırıcı avantaj 'akıllı çoklu tablo bölme'dir: JSON üst düzeyinde birden fazla dizi alanı olduğunda (`{users:[...], orders:[...], products:[...]}` gibi), araç otomatik tanır, her diziyi bağımsız Markdown tablosuna böler ve her tablo üzerinde otomatik `### AlanAdı` başlığı (H3) oluşturarak uzun belge yapısını net ve gezilebilir hale getirir.

Markdown tablosunun HTML tablosuna göre en büyük avantajı 'saf metin sürüm kontrolü'dür: `.md` dosyası git diff'te tablo satır artış/azalışlarını net gösterir, HTML tablosunun `<tr>` `<td>` etiketleri ise diff araçlarında genellikle uzun satır olarak görünür ve okunması zordur. GitHub, GitLab gibi kod barındırma platformlarının Markdown tablosunu varsayılan veri görüntüleme yöntemi olarak benimsemesinin nedeni budur.

Kullanım senaryoları

  • Teknik dokümantasyon yazarken API'den dönen JSON verilerini Markdown tablosuna dönüştürüp görüntüleme
  • GitHub README'de yapılandırma verilerini, parametre açıklamalarını, API yanıt örneklerini gösterme gerektiğinde
  • Veri raporlarını Markdown tablosu olarak analiz sonuçlarını sunma (dışa aktarıldıktan sonra Notion/Confluence'a gömülebilir)
  • API dokümantasyonunda (Swagger/Redoc/OpenAPI) arayüz veri yapılarını net gösterme
  • Statik site oluşturucularının doküman bölümleri (VuePress/Docusaurus/Hexo)
  • Slack/Discord/kurumsal mesajlaşmada yapılandırılmış veri paylaşımı (GFM bu platformlarda yerel olarak desteklenir)
  • VS Code/JetBrains IDE Markdown Preview'da tablo efektini anında önizleme
  • Sürüm kontrolü işbirliği: Markdown tablosu saf metindir, git diff dostudur, Code Review için uygundur
  • Eğitim senaryosu: veri yapısı dersinde öğrencilerin gönderdiği iç içe JSON ödevlerini tabloya dönüştürüp birleşik görüntüleme ve notlandırma
  • E-posta şablonları (Markdown destekli e-posta istemcileri: Bear Mail, HEY)
  • Notion veritabanı içe aktarma: önce bu araçla Markdown tablosu oluşturun, ardından Notion'a yapıştırın
  • Uluslararasılaştırma senaryosu: JSON düzleştirme + anahtar güzelleştirme sonrası Çince-İngilizce belgeler aynı yapıyı paylaşır

Nasıl Kullanılır

  1. JSON dizisini (önerilir) veya iç içe nesneyi sol düzenleyiciye yapıştırın veya 'Sample' tıklayarak 3 iç içe kullanıcı örneğini yükleyin veya 'Upload' tıklayarak .json/.txt dosyası yükleyin
  2. Araç çubuğundan iç içe işleme modunu seçin ('Flatten' önerilir), JSON'da çok katmanlı iç içe yapı varsa Max Depth'i artırın
  3. Özel ayırıcı gerekiyorsa Separator alanına girin (varsayılan `.`, `_` / `-` / `/` olarak değiştirilebilir)
  4. Strategy seçin: basit diziler için 'Single', çoklu dizi alanları için 'Multi' otomatik bölme, zorla bölme için 'Split'
  5. Stil seçeneklerini işaretleyin: Sort columns, Beautify keys, Exclude empty, Include Caption, Include Index
  6. Hizalamayı seçin: sola / ortaya / sağa
  7. 'Convert' düğmesine tıklayın (veya Enter tuşuna basın) dönüşümü tetiklemek için — girişte 500ms debounce koruması vardır
  8. Sağda oluşan Markdown tablo kodunu inceleyin, memnunsanız 'Copy' ile kodu kopyalayıp Markdown belgesine yapıştırın veya 'Download' ile table.md olarak indirin

Özellikler

  • İç içe nesne otomatik düzleştirme: `{user:{name,age}}` yapısını `user.name`, `user.age` gibi nokta gösterimli anahtar adlarına özyinelemeli olarak genişletir (derinlik 1-6), elle düzleştirme betiği gerekmez
  • 4 iç içe işleme modu: Düzleştir (önerilir, derinlik ayarlanabilir) / İlk Katman Anahtarı (iç içe nesneleri tek sütun JSON olarak) / Dizeleştir (iç içe nesneleri JSON dizesine dönüştür) / Raw JSON (her satır tam JSON bloğu olarak)
  • Akıllı çoklu tablo bölme: JSON üst düzey dizi alanlarını (`users`, `orders`) tanır, otomatik olarak bağımsız Markdown tablolarına böler ve ### başlıkları oluşturur, karmaşık iş verileri için ideal
  • Özel ayırıcı: varsayılan `.` (Lodash/MongoDB uyumlu), araç çubuğundan `_` / `-` / `/` olarak değiştirilebilir
  • Anahtar adı güzelleştirme (camelCase/snake_case → Title Case): `user_name` → `User Name`, `userProfileId` → `User Profile Id` — başlıklar insan tarafından okunabilir hale gelir
  • Sütun sıralama anahtarı: tüm başlık sütunlarını tek tıklamayla alfabetik sıralar, belgeleri karşılaştırırken sütun sırasını kararlı tutar
  • Boş değer sütunu hariç tutma: tüm satırları null/undefined/boş dize olan sütunları otomatik algılar ve hariç tutar, anlamsız sütunların yer kaplamasını önler
  • 3 hizalama modu: sola (`:-`) / ortaya (`:-:`) / sağa (`-:`), radyo düğmesi ile geçiş, GFM uyumlu
  • Satır indeks sütunu anahtarı: isteğe bağlı en sol `#` numara sütunu (başlık metni özelleştirilebilir), belgede satır numarası referansını kolaylaştırır
  • Caption başlık anahtarı: her tablo üzerinde otomatik `### VeriAdı` üçüncü düzey başlık (H3), bölümlü belgelerde yapı netleşir, SEO'ya yardımcı olur
  • Tür farkında kaçış: hücre içindeki `|` / `\` / satır sonları otomatik `\|` / `\\` / `<br>` olarak kaçışlandırılır, Markdown tablo sözdizimi bozulmasını önler
  • Oluşturma istatistik geri bildirimi: alt durum çubuğunda 'N tablo × M satır × K sütun oluşturuldu' + bayt sayısı canlı gösterilir, uzun JSON hata ayıklarken veri ölçeği bir bakışta görülür
  • Örnek veri + dosya yükleme: 3 yerleşik iç içe kullanıcı örneği tek tıklamayla yüklenir, sürükle-bırak veya tıklayarak .json/.txt dosyası yükleme desteği
  • Tamamen tarayıcıda yerel işleme: tüm JSON ayrıştırma, iç içe düzleştirme, Markdown oluşturma, kopyalama/indirme işlemleri tarayıcıda tamamlanır, veriler hiçbir sunucuya yüklenmez

Kod Örnekleri

JavaScript: fetch + iç içe düzleştirme + Markdown çıktısı

javascript

Gerçek geliştirmede en yaygın kullanım: GitHub API çağrısından sonra iç içe nesneleri nokta gösterimli anahtar adlarına düzleştirip bu araçla Markdown tablosu oluşturma.

// 1) GitHub API çağrısı ile kullanıcı listesini al
async function fetchUsers() {
  const res = await fetch('https://api.github.com/users?per_page=10');
  return await res.json();
}

// 2) İç içe düzleştirme fonksiyonu (bu aracın Flatten mantığına eşdeğer)
function flattenObject(obj, prefix = '', sep = '.', result = {}, depth = 0, maxDepth = 3) {
  if (!obj || typeof obj !== 'object' || Array.isArray(obj)) return result;
  if (depth >= maxDepth) {
    if (prefix) result[prefix] = JSON.stringify(obj);
    return result;
  }
  for (const [k, v] of Object.entries(obj)) {
    const key = prefix ? `${prefix}${sep}${k}` : k;
    if (v && typeof v === 'object' && !Array.isArray(v)) {
      flattenObject(v, key, sep, result, depth + 1, maxDepth);
    } else {
      result[key] = v;
    }
  }
  return result;
}

// 3) Düzleştirilmiş verileri Markdown tablosuna dönüştür
function generateMarkdownTable(rows, opts = {}) {
  const { align = 'left', includeIndex = false, sortColumns = false } = opts;
  const flat = rows.map(r => flattenObject(r));
  let cols = [...new Set(flat.flatMap(r => Object.keys(r)))];
  if (sortColumns) cols.sort((a, b) => a.localeCompare(b));

  const alignMap = { left: ':-', center: ':-:', right: '-:' };
  const alignSep = alignMap[align];

  const headers = includeIndex ? ['#', ...cols] : cols;
  const seps = includeIndex ? [alignSep, ...cols.map(() => alignSep)] : cols.map(() => alignSep);

  const escapeCell = v =>
    v == null ? '' :
    typeof v === 'object' ? JSON.stringify(v).slice(0, 60) :
    String(v).replace(/\\|/g, '\\|').replace(/\n/g, '<br>');

  const lines = [];
  lines.push('| ' + headers.join(' | ') + ' |');
  lines.push('| ' + seps.join(' | ') + ' |');
  flat.forEach((r, i) => {
    const idxCell = includeIndex ? [i + 1] : [];
    const cells = cols.map(c => escapeCell(r[c]));
    lines.push('| ' + [...idxCell, ...cells].join(' | ') + ' |');
  });
  return lines.join('\n');
}

// 4) README.md'ye çıktı ver
const users = await fetchUsers();
const md = generateMarkdownTable(... [truncated]

Python: Flask arka uçta Markdown raporu oluşturma

python

Arka uçta çok kaynaklı verileri birleştirdikten sonra Python ile Markdown tablosu oluşturma (ön uç bağımlılığı yok), CI/CD otomatik haftalık rapor oluşturmaya uygun.

from flask import Flask, jsonify
import json

app = Flask(__name__)

def flatten(obj, prefix='', sep='.', result=None, depth=0, max_depth=3):
    """İç içe nesneleri özyinelemeli düzleştirme"""
    if result is None:
        result = {}
    if not isinstance(obj, dict) or depth >= max_depth:
        if prefix:
            result[prefix] = json.dumps(obj) if isinstance(obj, (dict, list)) else obj
        return result
    for k, v in obj.items():
        key = f"{prefix}{sep}{k}" if prefix else k
        if isinstance(v, dict):
            flatten(v, key, sep, result, depth + 1, max_depth)
        else:
            result[key] = v
    return result

def json_to_markdown_table(data, align='left', include_index=False,
                            sort_columns=False, caption=None):
    if isinstance(data, dict):
        data = [data]
    if not data:
        return "<!-- No valid objects found -->"

    flat_rows = [flatten(row) for row in data]
    columns = []
    for row in flat_rows:
        for k in row:
            if k not in columns:
                columns.append(k)
    if sort_columns:
        columns.sort()

    align_sep = {'left': ':-', 'center': ':-:', 'right': '-:'}[align]
    headers = (['#'] if include_index else []) + columns
    seps = ([align_sep] if include_index else []) + [align_sep] * len(columns)

    def escape_cell(v):
        if v is None:
            return ''
        if isinstance(v, (dict, list)):
            s = json.dumps(v)
            return s[:60] + '…' if len(s) > 60 else s
        return str(v).replace('|', '\\|').replace('\n', '<br>')

    lines = []
    if caption:
        lines.append(f'### {caption}\n')
    lines.append('| ' + ' | '.join(headers) + ' |')
    lines.append('| ' + ' | '.join(seps) + ' |')
    for i, row in enumerate(flat_rows):
        idx_cell = [str(i + 1)] if include_index else []
        cells = [escape_cell(row.get(c, '')) for c in columns]
        lines.appe... [truncated]

Komut Satırı: jq birleştirme + bu araçla GitHub Release Notes oluşturma

bash

Operasyon senaryosu: GitHub API'den PR listesi al, jq ile birleştirip düzleştirerek nokta gösterimli anahtar adlarına dönüştür, bu araca yapıştırarak GFM Release Notes oluştur.

# 1) gh CLI ile son 50 merged PR'ı al
PR_JSON=$(gh pr list --state merged --limit 50 --json number,title,author,labels,mergedAt)

# 2) jq ile labels iç içe dizisini düzleştir
echo "$PR_JSON" | jq 'map({
  number: .number,
  title: .title,
  author: .author.login,
  labels: (.labels | map(.name) | join(", ")),
  mergedAt: .mergedAt
})' > release_prs.json

# 3) Bu aracı aç, içeriği yapıştır, Strategy: "Single",
#    Sort columns + Include Index işaretle, Convert tıkla, tabloyu kopyala

# 4) Release Notes'a birleştir ve Release oluştur
gh release create v2.1.0 -F RELEASE.md -t "v2.1.0"

Sık Sorulan Sorular

JSON verilerini Markdown tablosuna nasıl dönüştürürüm?

JSON dizisini (her öğe bir nesne) veya tek nesneyi sol giriş kutusuna yapıştırın, araç çubuğundaki 'Convert' düğmesine tıklayın — sağda otomatik olarak GFM standart Markdown tablo kodu oluşturulur. Kod doğrudan GitHub README, Markdown blog, Confluence sayfası veya Notion belgesine yapıştırılabilir.

İç içe JSON nesneleri Markdown tablosuna dönüştürülebilir mi?

Evet. Araçta farklı senaryolara yönelik 4 iç içe işleme modu bulunur: ① Düzleştir (önerilir): `{user:{name:'Alice',age:30}}` yapısını özyinelemeli olarak `user.name`, `user.age` sütunlarına genişletir, derinlik 1-6; ② İlk Katman Anahtarı: yalnızca üst düzey alanları alır, iç içe nesneleri tek sütun JSON dizesi olarak; ③ Dizeleştir: tüm iç içe nesneleri JSON dizesine dönüştürür; ④ Raw JSON: her satır tam bir JSON bloğu olarak (kod parçacığı görüntülemeye uygun).

Düzleştirme sonrası anahtar ayırıcı değiştirilebilir mi?

Varsayılan olarak `.` kullanılır (JavaScript/MongoDB/Lodash uyumlu). `user_name` (snake_case) veya `user/name` (yol stili) için araç çubuğundaki 'Separator' alanında değiştirebilirsiniz (en fazla 3 karakter).

Anahtar güzelleştirme (Beautify keys) nedir?

'Beautify keys' işaretlendiğinde `user_name`, `userProfileId` otomatik olarak `User Name`, `User Profile Id` Title Case'e dönüştürülür. Dahili olarak: alt çizgi/tire boşluğa dönüştürülür, camelCase büyük harflerinden önce boşluk eklenir, her kelimenin ilk harfi büyük yapılır. Bu, başlıkları insanlar için daha okunabilir hale getirir, özellikle README ve API dokümantasyonu gibi uzun Markdown'larda faydalıdır.

Birden fazla tabloya nasıl bölerim?

Araç çubuğundaki 'Strategy' açılır menüsü: ① Single (varsayılan) — tüm JSON tek tablo (saf dizi senaryoları için ideal); ② Multi — JSON çoklu dizi alanı içeren bir nesne olduğunda, her dizi otomatik bağımsız tabloya bölünür ve ### başlık oluşturulur (`{users:[...], orders:[...]}` gibi senaryolar için ideal); ③ Split — zorla bölme modu, yalnızca dizi alanları işlenir, diğer alanlar yok sayılır.

Oluşturulan Markdown tablosu doğrudan GitHub'da kullanılabilir mi?

Evet. Araç tarafından oluşturulan Markdown tablosu CommonMark ve GFM uyumludur, GitHub README, GitLab belgeleri, Notion sayfaları, VuePress/Docusaurus/Hexo blogları, Slack/Discord mesajları, VS Code Markdown Preview — GFM destekleyen tüm platformlarda doğrudan kullanılabilir.

Birden fazla Markdown tablosu toplu oluşturulabilir mi?

Evet. Strategy'yi 'Multi' veya 'Split' yapın — araç JSON üst düzey dizi alanlarını (`users`/`products`/`orders`) akıllıca tanır ve her dizi için bağımsız Markdown tablosu oluşturur, her tablo üzerinde `### AlanAdı` başlığı oluşturur. Uzun belgelerde düzenli görüntüleme için kullanışlıdır.

Başlık sırası nasıl kontrol edilir?

Araç varsayılan olarak JSON'daki her nesnenin anahtarlarının ilk görünme sırasını başlık sırası olarak kullanır. Alfabetik sıralama için 'Sort columns' işaretleyin. Tam özel sıralama için 'Column order' gelişmiş özelliği (yakında).

Çok fazla boş sütun varsa ne yapmalı?

'Exclude empty' işaretleyin — araç tüm satırları null/undefined/boş olan sütunları otomatik algılar ve hariç tutar. Seyrek veriler (yalnızca bazı kullanıcılar belirli alanları doldurduğunda) için özellikle faydalıdır, tablo genişliğini önemli ölçüde azaltır.

Hücre içindeki | karakteri tabloyu bozar mı?

Hayır. Araç hücre içindeki `|` → `\|`, `\` → `\\`, satır sonlarını → `<br>` olarak otomatik kaçışlandırır, oluşturulan Markdown tablosunun tüm renderleyicilerde kaymamasını sağlar. Bu, rakip araçlara göre önemli bir yükseltmedir — çoğu rakip araç kaçış yapmaz, `|` içeren veriler kopyalandıktan sonra tablo bozulur.

Markdown tablosu ile HTML tablosu arasındaki fark nedir?

Markdown tablosu saf metin formatıdır (`|` `-` sözdizimi), teknik dokümantasyon, README, blog, sürüm kontrolü işbirliği için uygundur — sözdizimi özlü ve okunabilir; HTML tablosu stilli web sayfası formatıdır (`<table>` `<tr>` etiketleri), CSS stilleri, duyarlı düzen ve erişilebilirlik ARIA etiketleri gerektiren ön uç sayfaları için uygundur. Her ikisi de JSON'dan dönüştürülür ancak uygulama senaryoları farklıdır. Teknik dokümantasyon için bu araçla Markdown tablosu oluşturun, web sayfaları için JSON'dan HTML'e aracıyla HTML tablosu oluşturun.

Markdown tablosunun maksimum satır sınırı nedir?

Araç varsayılan olarak satır sayısı üst sınırı koymaz (HTML tablo aracından farklı). Markdown tablosu saf metin olduğundan tarayıcı render yükü daha düşüktür. Ancak öneriler: ① >1000 satır — birden fazla tabloya veya sayfalamaya bölün; ② GitHub README'ye gömerken tek dosya 1MB'ı aşmamalı; ③ Notion/Confluence'a gömerken platform sınırlamalarına uyun.

Caption başlığı nasıl özelleştirilir?

'Multi/Split' stratejilerinde Caption otomatik olarak üst düzey dizi alan adını kullanır (`### users`, `### orders`). 'Single' stratejisinde 'Include Caption' işaretleyip özel başlık metni girebilirsiniz. Caption, Markdown belge yapısı spesifikasyonuna uygun `### H3` üçüncü düzey başlıktır.

Veriler sunucuya yüklenir mi? Gizlilik güvenli mi?

Tamamen tarayıcıda yerel olarak çalışır. Tüm JSON ayrıştırma, iç içe düzleştirme, Markdown oluşturma, kopyalama/indirme işlemleri tarayıcıda JavaScript ile yapılır, dosya okuma yalnızca yerel FileReader üzerinden işlenir, hiçbir sunucuya gönderilmez. Hassas API yanıtları ve yayınlanmamış iş alanları içeren JSON'lar güvenle kullanılabilir — sayfayı kapatmak tüm verileri siler.

Sorun Giderme

'JSON verisi girin' veya benzeri hata mesajı

Sol giriş kutusu boş veya yalnızca boşluk karakterleri içeriyor. Geçerli JSON içeriğinin yapıştırıldığından emin olun veya 'Sample' tıklayarak örnek veri yükleyin veya 'Upload' tıklayarak .json/.txt dosyası seçin.

'Unexpected token ... in JSON at position N' hatası

JSON formatı hatalı. Yaygın nedenler: ① sonda fazladan virgül ([{},{},] gibi); ② çift tırnak yerine tek tırnak kullanımı; ③ JSON ({"key": "value"}) yerine JS nesne gösterimi ({key: value}) kullanımı. Önce JSON Biçimlendirici aracıyla doğrulayıp onarın.

Oluşan tabloda yalnızca başlık var, veri satırı yok

JSON verisi boş dizi [] veya boş nesne {}. Bu araç boş dizi için '<!-- No valid objects found -->' yorumu döndürür. Kaynak JSON'a en az bir nesne verisi ekleyin.

Flatten modunda sütun adları çok uzun (user.profile.address.city.country.code gibi)

İç içe katman çok derin olduğunda öneriler: ① 'First Key' moduna geçin (yalnızca üst düzey alanları alır, iç içe nesneler tek sütun JSON olarak); ② Max Depth'i azaltın (6'dan 3-4'e); ③ kaynak JSON yapısını değiştirip gereksiz iç içe yapıyı azaltın; ④ araç çubuğundaki Reset düğmesiyle varsayılan Flatten ayarlarına dönün.

Çoklu tablo bölme modunda birden fazla tablo oluşmuyor

Kaynak JSON'un nesne yapısında (saf dizi değil) olduğundan ve alanların en az bir 'öğeleri nesne olan dizi' (`"users": [{...}, {...}]` gibi) içerdiğinden emin olun. Üst düzey alanların tümü dize/sayı/iç içe nesnenin kendisiyse, 'Multi' stratejisi 'Single' tek tablo moduna geri döner.

Beautify Keys sonrası başlıklar boş çıktı

Beautify Keys işlevi snake_case'i Title Case'e dönüştürür ancak orijinal olarak büyük harf/özel karakterle başlayan anahtarları (`__proto__`, `constructor`) değiştirmez. Bunlar JavaScript ayrılmış sözcükleridir. Kaynak JSON'da önce yeniden adlandırma yapıp sonra aracı kullanmanız önerilir.

Oluşan Markdown, GitHub'da boş olarak render ediliyor

Çok nadirdir. Yaygın nedenler: ① tabloda kaçışlanmamış `|` karakteri var (bu araç otomatik kaçışlar, ancak elle değişiklik sonrası bozulabilir); ② hücrede HTML etiketi var (GitHub varsayılan olarak render etmez, araç zaten `\n`'i `<br>`'e dönüştürdü); ③ dosya kodlaması UTF-8 değil.

İndirilen table.md dosyası düzenleyicide boş görünüyor

İndirilen dosya yalnızca Markdown tablo kodu içerir (`|` `-` karakterleriyle başlar), tam Markdown belge iskeleti (`# Başlık` `## Bölüm`) içermez. Bu, mevcut Markdown belgesine gömmek için parça kod olarak tasarlanmıştır. Dosya başına elle `# Başlık` gibi başlıklar ekleyin veya doğrudan mevcut .md dosyasının ilgili konumuna yapıştırın.

Başlıktaki Çince karakterler bozuk görünüyor

Kaynak JSON'un anahtarları Çince karakterler içeriyorsa, kaynak dosyanın kendisinin UTF-8 kodlamalı olduğundan emin olun. Excel'den kopyalanan JSON GBK'ye dönüştürülmüş olabilir. Önce kodlama dönüştürme aracıyla UTF-8'e dönüştürüp sonra yapıştırın.

Oluşan tabloları toplu değiştirmek istiyorum

Oluşturduktan sonra sağdaki Markdown tablosunu Copy yapıp sed/kendi betiğinizle stil özniteliklerini toplu değiştirin. Markdown tablosunun kendisi renkleri desteklemez (HTML'den farklı). Renk gerekiyorsa JSON'dan HTML'e dönüştürme aracını kullanın.

Boş sütun hariç tuttuktan sonra tablo tam tersine genişledi

Exclude Empty, 'tüm satırları null/undefined/boş dize olan' sütunları hariç tutar. Bir sütunda yalnızca bir satırda değer varsa ve diğer satırların tümü boşsa, o sütun hariç tutulmaz (bu doğru davranıştır). Seyrek sütunları hariç tutmanız gerekiyorsa, kaynak JSON'da önce temizlik yapın.

Geçmiş kayboldu

Geçmiş, tarayıcının localStorage'ında saklanır. Tarayıcı verilerini temizleme / gizli moda geçme / farklı tarayıcı kullanma geçmişin kaybolmasına neden olur. Bu araç geçmişi hiçbir sunucuya yüklemez, bu nedenle cihazlar arası senkronizasyon mümkün değildir.

Sözlük

Markdown Tablosu
| ve - karakterlerinden oluşan, GFM spesifikasyonuyla tanımlanan saf metin tablo. Bu aracın ürettiği kod bu sözdizimine sıkı sıkıya uyar ve GitHub/GitLab/Notion/Confluence'da doğrudan render edilebilir.
GFM
GitHub Flavored Markdown'ın kısaltması, GitHub'ın standart Markdown üzerine genişlettiği lehçe. Tablo, üstü çizili, görev listesi, otomatik bağlantı vb. içerir. Bu aracın ürettiği tablolar GFM spesifikasyonuna uygundur.
CommonMark
Markdown sözdiziminin standartlaştırılmış spesifikasyonu (2014'te yayınlandı). GFM tablo sözdizimi CommonMark üzerine genişletilmiştir. Bu aracın çıktısı hem katı CommonMark hem de GFM ayrıştırıcılarında doğru render edilebilir.
JSON Dizisi
Köşeli parantez [...] içindeki nesne koleksiyonu. Bu araç dizideki her nesneyi tablonun bir satırı olarak işler. Boş dizi tablo oluşturmaz (ipucu gösterir).
JSON Nesnesi
Süslü parantez {} içindeki anahtar-değer çifti koleksiyonu. Bu araç nesnenin her anahtarını başlık, değerini hücre olarak işler. Tek nesne otomatik olarak tek satırlık tabloya sarılır.
İç İçe Düzleştirme (Flatten)
İç içe nesneleri nokta ayrılmış düz anahtar adlarına özyinelemeli genişletme. Örnek: {user:{name:'A'}} → 'user.name'. Bu araç 1-6 katman derinlik otomatik düzleştirmeyi destekler, ayırıcı yapılandırılabilir.
Anahtar Güzelleştirme (Beautify Keys)
snake_case veya camelCase anahtar adlarını Title Case'e dönüştürme kuralı: user_name → User Name, userProfileId → User Profile Id. Bu aracın farklılaştırıcı yeteneklerinden biri.
Akıllı Çoklu Tablo Bölme (Multi-Table Split)
JSON üst düzey dizi alanlarını (users, orders vb.) tanıma ve otomatik olarak birden fazla bağımsız Markdown tablosuna bölme. Bu aracın farklılaştırıcı yeteneklerinden biri — bölünen her tabloya otomatik ### başlık oluşturulur.
Hizalama Sözdizimi (Alignment)
GFM tablosunun başlık ayırıcı satırı : karakteriyle hizalama kontrolünü destekler: :- sola hizala, :-: ortaya hizala, -: sağa hizala. Bu araç üç düğme ile tek tıklamayla geçiş sağlar.
Satır İndeks Sütunu (Index Column)
Tablonun en soluna eklenen # numaralandırma sütunu (1'den başlayarak artar), başlık metni özelleştirilebilir. Bu araç varsayılan olarak kapalıdır, açıldığında belgede satır numarası referansını kolaylaştırır.
Caption
Markdown'da H3 üçüncü düzey başlık (###). Bu araç oluşturulan her tablonun üzerine otomatik olarak bu etiketi ekler (varsayılan olarak üst düzey dizi alan adını veya kullanıcı özel metnini kullanır). Hem belge navigasyonu hem de SEO için yararlıdır.
Sütun Sıralama (Sort Columns)
Tablonun tüm sütunlarını alfabetik sıraya göre sıralayan anahtar. Açıldığında, birden fazla belgeyi karşılaştırırken sütun sırası kararlı ve tutarlı olur, diff araçlarında görülen değişiklikler daha kolay tanımlanır.
Boş Sütun Hariç Tutma (Exclude Empty)
Tüm satırlarda belirli bir sütunun değerlerinin null/undefined/boş dize olduğunu algıladığında, o sütunu otomatik hariç tutma. Bu araç varsayılan olarak kapalıdır, açıldığında seyrek verilerin tablo genişliğini önemli ölçüde azaltır.
Markdown Kaçışı (Escape)
Markdown tablosunda özel anlam taşıyan karakterleri (|, \, satır sonu) güvenli forma (\|, \\, <br>) dönüştürerek tablo sözdiziminin bozulmasını önleme. Bu araç bu kaçışı otomatik yapar — rakip araçlara göre önemli bir yükseltme.
Yerel Geçmiş (localStorage)
Tarayıcının sağladığı yerel anahtar-değer deposu (kapasite yaklaşık 5-10MB). Bu araç, son girişi kalıcı olarak saklamak için localStorage kullanır, yenileme veya yanlışlıkla sayfayı kapatma sonrası hızlı kurtarma sağlar.
Debounce
Ön uç performans optimizasyon tekniği: yüksek frekanslı olayların (giriş gibi) geri çağrılarını son tetiklemeden sonra yalnızca bir kez çalışacak şekilde birleştirir. Bu araç, büyük dosya ayrıştırırken takılmayı önlemek için 500ms debounce ayarlar.

4 İç İçe Nesne İşleme Modu Karşılaştırma Tablosu

Araç çubuğu farklı iç içe senaryolara yönelik 4 mod sunar, JSON yapınızın karmaşıklığına göre seçim yapmanız önerilir:

Modİşleme DavranışıÖrnek Sütun AdıUygulama Senaryosu
Flattenİç içe nesneleri nokta ayrılmış anahtar adlarına özyinelemeli genişletme (derinlik 1-6)user.name / profile.roleGitHub/Stripe/Notion gibi gerçek API iç içe yapıları; her alanı ayrı sütun yapmak istediğinizde
First KeyYalnızca nesnenin ilk katman anahtarlarını alır, iç içe nesne/diziler tek sütun JSON dizesi olarakuser / tagsİç içe yapı sabit değilse veya çok derinse (>6 katman); yalnızca üst düzey alan özeti gerektiğinde
StringifyTüm değerleri zorla dize olarak işler, iç içe nesneler doğrudan JSON.stringify sonrası | \ kaçışlandırılıruser (tam JSON olarak)Hata ayıklama senaryosu: orijinal JSON yapısını görsel inceleme için korumak istediğinizde
Raw JSONTüm satır verisini tek bir value sütununa serileştirir, hücre içi biçimlendirilmiş JSON bloğuvalue (tam JSON)Kod parçacığı görüntüleme, günlük birleştirme, orijinal JSON formunu korumak istediğinizde

3 Tablo Oluşturma Stratejisi Karşılaştırma Tablosu

Araç çubuğundaki Strategy açılır menüsü, birden fazla dizi alanı içeren JSON'un nasıl işleneceğini kontrol eder:

StratejiUygulanabilir GirişÇıkış FormatıKullanım Zamanı
SingleJSON dizisi veya tek nesne1 tablo, başlık (H3) yokSaf dizi senaryoları (en yaygın)
MultiBirden fazla dizi alanı içeren nesne ({users:[...], orders:[...]} gibi)Her dizi → 1 tablo + ### başlıkÇoklu iş nesnesi birleştirme (ön uç dashboard verisi gibi)
SplitHerhangi bir nesneÜst düzey tüm dizi alanlarını zorla çıkarır, dizi olmayan alanlar yok sayılırYalnızca dizi kısımlarını net görmek istediğinizde

Araç Çubuğu 14 Yapılandırılabilir Seçenek Hızlı Referans Tablosu

Araç çubuğundaki tüm 14 yapılandırılabilir seçenek ve etkileri, kombinasyonu hızlıca seçmek için:

SeçenekTürEtki
nestModeselectİç içe işleme: Flatten / First Key / Stringify / Raw JSON
maxDepthselectFlatten modunun maksimum derinliği (1-6)
separatortextFlatten modunun anahtar adı ayırıcısı (varsayılan ., maks 3 karakter)
strategyselectTablo oluşturma stratejisi: Single / Multi / Split
alignbuttonHizalama: sola / ortaya / sağa
includeIndexcheckboxEn sola # numara sütunu ekle
indexHeadertextİndeks sütunu başlık metni (varsayılan #)
sortColumnscheckboxTüm sütunları alfabetik sırala
beautifyKeyscheckboxAnahtar adları snake/camelCase → Title Case
excludeEmptycheckboxTüm satırları boş olan sütunları hariç tut
includeCaptioncheckboxHer tablo üzerine ### başlık ekle
captiontextÖzel Caption metni (Single stratejisinde geçerli)
indentselectRaw JSON modu girintisi (0/2/4)

Markdown Hücre Kaçış Kuralları Hızlı Referans Tablosu

Araç, hücre içinde tablo anlamını bozabilecek özel karakterleri otomatik olarak kaçışlandırır:

Giriş KarakteriÇıkış FormatıKaçış Nedeni
| (boru)\|Markdown tablo sütun ayırıcısı
\ (ters eğik çizgi)\\Markdown kaçış karakterinin kendisi
\n (satır sonu)<br>Markdown tablo hücresinde gerçek satır sonu kullanılamaz
\r (satır başı)(silinir)Windows satır sonu karakterinin artık kısmı
null / undefined(boş dize)Varsayılan yer tutucu, Exclude empty ile yapılandırılabilir
Nesne (uzunluk > 60)JSON 60 karaktere kırpılır + …Tek bir hücrenin çok uzun olup tabloyu bozmasını önler

Privacy & Security

Bu JSON'den Markdown'a dönüştürme aracındaki tüm JSON ayrıştırma, iç içe düzleştirme, Markdown oluşturma, kopyalama ve indirme işlemleri tamamen tarayıcıda yerel olarak JavaScript tarafından yürütülür. Girilen JSON verileri ve oluşturulan Markdown kodu hiçbir sunucuya yüklenmez, kaydedilmez, önbelleğe alınmaz veya bulutta saklanmaz. Yayınlanmamış API yanıtları ve dahili iş alanları içeren hassas JSON'lar güvenle kullanılabilir — sayfayı kapatmak tüm verileri siler.

Authoritative References