JSON'dan HTML'ye

Seçenekler:|

JSON dizilerini veya iç içe nesneleri web sayfalarına gömülebilen standart HTML tablo koduna tek tıkla dönüştüren ücretsiz çevrimiçi araç. İç içe düzleştirme, özel CSS sınıfı, yatay kaydırma, 6 görsel stil, null yer tutucu, satır sınırı koruması. Code ve iframe çift sekme gerçek zamanlı önizleme.

İlgili Öneriler

JSON'dan HTML'ye ve HTML Tabloları Hakkında

JSON'dan HTML'ye dönüştürücüsü (JSON to HTML Converter), JSON veri yapılarını otomatik olarak standart HTML tablo koduna dönüştüren pratik bir araçtır. Geliştiricileri `<table>` / `<tr>` / `<td>` şablonlarını manuel olarak yazma tekrar eden işinden kurtarır; API'den dönen iç içe verileri, yapılandırma dosyalarını veya herhangi bir JSON yapısını web tablosu olarak hızla görüntülemek için idealdir.

HTML Tablosu (HTML Table), `<table>` konteyneri, `<thead>` başlığı, `<tbody>` gövdesi, `<tr>` satırları, `<th>` başlık hücreleri, `<td>` veri hücreleri, `<caption>` başlık ve diğer semantik etiketlerden oluşan W3C standart yapılandırılmış veri görüntüleme öğesidir. Bu aracın ürettiği kod bu semantik yapıyı sıkı bir şekilde takip eder, SEO tarama ve erişilebilirlik (ekran okuyucuları tanıyabilir) için uygundur.

Piyasadaki JSON'dan HTML'ye araçları üç kategoriye ayrılır: ilki yalnızca HTML kodu dizeleri üretir (örn. tooltt.com, codebeautify.org), "kopyala ve kullan" vurgular; ikincisi görsel önizleme de sağlar (örn. bu araç, jsontables.com, TableConvert), "WYSIWYG" vurgular; üçüncüsü iç içe genişletme + Tailwind sınıfı enjekte etmeyi destekler (bu aracın farklılaştırıcı konumu), JSON'u modern ön uç projelerine gömmesi gereken mühendisler için uygundur.

Bu aracın "İç İçe Düzleştirme" özelliği, çoğu rakibe karşı farklılaştırıcı bir vurgudur: geleneksel araçlar `{user:{name:'Alice'}}` öğesini `"{\"name\":\"Alice\"}"` dizesi olarak görüntülerken, bu araç onu özyinelemeli olarak `user.name` sütununa genişletir (6 seviyeye kadar, yapılandırılabilir ayırıcı). Bu, jq / lodash ile önceden düzleştirme yapmadan GitHub API, Stripe API, Notion API gibi karmaşık iç içe yapıya sahip gerçek iş verilerini doğrudan işleyebileceğiniz anlamına gelir.

Bir diğer farklılaştırıcı vurgu "Özel CSS Sınıfı Kancası"dır: araç yalnızca satır içi stil üretmekle kalmaz, aynı zamanda `<table>` etiketine herhangi bir sınıf dizesi enjekte etmenize izin verir. Bu, Tailwind / Bootstrap / Bulma / DaisyUI gibi ana CSS çatılarının kullanıcılarının bu aracın ürettiği HTML'yi doğrudan yeniden kullanmasını ve CSS'yi manuel olarak düzenlemeden proje ile tutarlı bir tasarım stili elde etmesini sağlar.

Kullanım senaryoları

  • Ön uç geliştirme: API'den dönen JSON verilerini hızla HTML tablosuna dönüştürerek yönetici panolarına veya dokümantasyon sayfalarına gömme
  • Tailwind / Bootstrap projeleri: tablo sınıfı alanına doğrudan Tailwind veya Bootstrap sınıfı yapıştırarak mevcut stil sistemiyle sorunsuz entegrasyon
  • Duyarlı web sayfaları: varsayılan yatay kaydırma sarması, mobil tabloların sayfa düzenini bozmasını önler
  • Veri görselleştirme görüntüleme: stilli tabloları blog, dokümantasyon, Confluence, Notion ve HTML gömmeyi destekleyen tüm platformlara yapıştırma
  • Rapor oluşturma: arka uçtan dışa aktarılan JSON verilerini iş paydaşlarına gönderilecek HTML e-posta raporlarına hızla dönüştürme
  • Ön uç prototipleme: tasarım aşamasında gerçek verilerle tablo stillerini önizleyerek teslimattan önce ürün ve tasarımla uyum sağlama
  • CMS sistemleri: WordPress, Drupal ve diğer CMS'ler için statik HTML tablo parçacıkları oluşturarak şablon motoru karmaşıklığından kaçınma
  • Test ve hata ayıklama: tarayıcı konsolundaki JSON.stringify çıktısını yapıştırarak karmaşık iç içe verilerin iki boyutlu yapısını hızla önizleme
  • E-posta şablonları: tablo HTML'sini HTML e-postalarına satır içi olarak göme (Outlook uyumluluğunu test edin)
  • API dokümantasyonu yazımı: Markdown, Swagger, Redoc'a varsayılan JSON örnekleri yerine HTML tabloları gömme
  • Eğitim senaryoları: veri yapıları derslerinde öğrencilerin gönderdiği iç içe JSON ödevlerini toplu değerlendirme için tabloya dönüştürme
  • Veri temizleme raporları: veritabanı dışa aktarımlarından gelen iç içe JSON'u Düzleştirme moduyla alan karşılaştırması için tabloya dönüştürme

Nasıl Kullanılır

  1. JSON dizisini (önerilen) veya tek bir nesneyi sol düzenleyiciye yapıştırın veya 3 ürün örneğini yüklemek için "Sample" düğmesine, .json / .txt dosyası yüklemek için "Upload" düğmesine tıklayın
  2. Araç çubuğundan iç içe işleme modunu seçin (önerilen: "Düzleştirme"). İç içe nesneler otomatik olarak `user.name` gibi nokta ayrılmış anahtarlara genişler
  3. Dönüşümü tetiklemek için "Convert" düğmesine tıklayın (veya Enter tuşuna basın). Giriş 500 ms debounce ile korunur
  4. Sağdaki Code sekmesinde sözdizimi vurgulamalı HTML tablo kodunu, Preview sekmesinde iframe gerçek zamanlı oluşturmayı görüntüleyin
  5. Araç çubuğundaki stil seçeneklerini (zebra / kenarlık / vurgu / kompakt / duyarlı) işaretleyin, özel tablo sınıfı girin, null yer tutucusunu ayarlayın. Canlı önizleme anında güncellenir
  6. Hazır olduğunda, HTML kodunu kopyalamak için "Copy" düğmesine veya table.html olarak indirmek için "Download" düğmesine tıklayın. Sıfırlamak için Reset düğmesine tıklayın

Özellikler

  • İç içe nesne otomatik düzleştirme: `{user:{name,age}}` öğesini `user.name`, `user.age` gibi nokta anahtarlarına özyinelemeli olarak genişletir (yapılandırılabilir ayırıcı), betik gerekmez
  • Üç iç içe işleme modu: Düzleştirme (Önerilen, 6 seviyeye kadar) / Üst Düzey Anahtarlar (iç içe nesne tek sütun olarak) / Dize (iç içe nesne JSON dizesi olarak)
  • Özel CSS sınıfı kancası: `<table>` ve isteğe bağlı dış `<div>` öğesine herhangi bir sınıf dizesi enjekte eder, Tailwind / Bootstrap / Bulma ile sorunsuz entegrasyon
  • Duyarlı yatay kaydırma: varsayılan olarak dış sarma `overflow-x:auto`, dar ekranlarda yatay kaydırma çubuğu otomatik olarak görünür
  • 6 görsel stil değiştirici: zebra, kenarlık, satır vurgusu, kompakt mod, ilk indeks sütunu (#), tablo başlığı — araç çubuğu onay kutularıyla anında uygulanır
  • Code + iframe önizleme çift sekmesi: Code sekmesi sözdizimi vurgulamalı HTML kaynağını gösterir, Preview sekmesi korumalı iframe'de gerçek tabloyu gerçek zamanlı işler
  • Tür farkında vurgulama: null gri italik (yapılandırılabilir yer tutucu metin), boolean'lar yeşil/kırmızı, sayılar mavi, iç içe nesneler fareyle üzerine gelince tam JSON
  • Satır sınırı koruması: varsayılan 1000 satır sınırı (1-10000 arası ayarlanabilir), aşıldığında otomatik kesme ve "Kesildi" bildirimi
  • Üretim istatistikleri geri bildirimi: sağ panel "X satır × Y sütun üretildi" + kesme rozetini gerçek zamanlı gösterir
  • Tek tıkla kopyalama / indirme: Code modunda HTML kaynağını panoya kopyalayın veya table.html dosyası olarak indirin
  • Örnek veri + dosya yükleme: 3 yerleşik ürün örneği (Laptop / Mouse / Desk Chair) tek tıkla yükleme, .json / .txt dosyalarını sürükle bırak veya tıklama yükleme
  • Tek tıkla sıfırlama: araç çubuğundaki Sıfırla düğmesi tüm 14 ayarı anında varsayılanlara döndürür
  • Yerel geçmiş: localStorage tabanlı, son 200 girişi kalıcı olarak saklar, yenileme veya yanlışlıkla sekme kapandıktan sonra kurtarılabilir
  • Tamamen tarayıcıda yerel işleme: tüm JSON ayrıştırma, HTML oluşturma, kopyalama ve indirme tarayıcınızda gerçekleşir, veri hiçbir sunucuya gönderilmez

Kod Örnekleri

JavaScript: İç İçe Düzleştirme + Tailwind Sınıfı Entegrasyonu

javascript

Geliştirmede en yaygın kullanım: GitHub API'sini çağırın, iç içe nesneleri nokta anahtarlarına düzleştirin, ardından projenize Tailwind sınıflarıyla entegre edin.

// 1) GitHub API'yi çağırarak 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 (aracın düzleştirme mantığına eşdeğer)
function flattenObject(obj, prefix = '', sep = '.', 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);
    } else {
      result[key] = v;
    }
  }
  return result;
}

// 3) Düzleştirilmiş verileri HTML tablosuna dönüştür, Tailwind sınıfları enjekte et
function generateHtmlTable(rows) {
  const flat = rows.map(r => flattenObject(r));
  const cols = [...new Set(flat.flatMap(r => Object.keys(r)))];
  const thead = cols.map(c => `<th class="px-4 py-2 text-left">${c}</th>`).join('');
  const tbody = flat.map(r =>
    `<tr class="border-b hover:bg-gray-50">${cols.map(c => `<td class="px-4 py-2">${r[c] ?? 'N/A'}</td>`).join('')}</tr>`
  ).join('');
  return `<table class="min-w-full text-sm">
  <thead class="bg-gray-100"><tr>${thead}</tr></thead>
  <tbody>${tbody}</tbody>
</table>`;
}

// 4) Sayfaya enjekte et
const users = await fetchUsers();
const html = generateHtmlTable(users);
document.getElementById('table-container').innerHTML = html;
console.log(users.length + ' satır, ' + (Object.keys(flattenObject(users[0])).length) + ' sütun üretildi');

Python: Flask'ta İç İçe JSON'dan HTML Tablosuna (Ön Uç Bağımlılığı Yok)

python

Arka uç şablonu oluştururken, aynı HTML tablosunu üretmek için Python yerleşik kitaplıklarını kullanabilirsiniz; iç içe düzleştirme ve sınıf enjekte etmeyi destekler.

from flask import Flask, jsonify, render_template_string
import json

app = Flask(__name__)

TEMPLATE = """
<!doctype html><html><body>
<div class="overflow-x-auto">{{ table_html | safe }}</div>
</body></html>
"""

def flatten(obj, prefix='', sep='.', result=None):
    """İç içe nesneleri özyinelemeli olarak düzleştirir"""
    if result is None:
        result = {}
    for k, v in (obj or {}).items():
        key = f"{prefix}{sep}{k}" if prefix else k
        if isinstance(v, dict):
            flatten(v, key, sep, result)
        else:
            result[key] = v
    return result

def json_to_html_table(data, table_class='min-w-full border-collapse',
                        max_rows=1000, responsive=True):
    if isinstance(data, dict):
        data = [data]
    if not data:
        return "<p>Veri yok</p>"

    # Satır kesme
    truncated = False
    if len(data) > max_rows:
        data = data[:max_rows]
        truncated = True

    # Her satırı düzleştir
    flat_rows = [flatten(row) for row in data]

    # Tüm sütun adlarını topla (tekilleştirme için set, ekleme sırasını koru)
    columns = []
    for row in flat_rows:
        for k in row.keys():
            if k not in columns:
                columns.append(k)

    # thead oluştur
    thead = "".join(f'<th class="px-4 py-2 text-left bg-gray-100">{c}</th>' for c in columns)

    # Tablo satırlarını oluştur
    rows = []
    for i, row in enumerate(flat_rows):
        bg = "bg-gray-50" if i % 2 == 1 else ""
        tds = "".join(
            f'<td class="px-4 py-2 {bg}">{("N/A" if row.get(c) is None else row.get(c, ""))}</td>'
            for c in columns
        )
        rows.append(f'<tr class="hover:bg-blue-50">{tds}</tr>')

    html = f'<table class="{table_class}"><thead><tr>{thead}</tr></thead><tbody>{"".join(rows)}</tbody></table>'
    if responsive:
        html = f'<div class="overflow-x-auto">{html}</div>'

    if truncated:
        html = f'<p class="text-amber-600 text-sm">Veri ilk {max_rows} satıra kesildi</p>{html}'

    return html


@app.route('/api/users')
def users():
    data = json.load(open('users.json'))
    return jsonify(data)

@app.route('/users.html')
def users_html():
    import requests
    data = requests.get('http://localhost:5000/api/users').json()
    return render_template_string(TEMPLATE, table_html=json_to_html_table(data))


if __name__ == '__main__':
    app.run(debug=True)

Komut Satırı: jq ile Düzleştirme + Statik HTML Raporu Oluşturma

bash

Operasyon senaryosu: jq ile iç içe JSON günlüklerini toplayın, ardından bu araca yapıştırarak Tailwind sınıflı HTML raporu oluşturun.

# 1) jq kullanarak iç içe günlükleri toplayın ve nokta ayrılmış anahtarlara düzleştirin
cat app.log | jq -s '
  group_by(.response.status_code) |
  map({
    status: .[0].response.status_code,
    count: length,
    "first_request.method": .[0].request.method,
    "last_request.url": .[-1].request.url,
    "first_seen": min_by(.timestamp).timestamp,
    "last_seen": max_by(.timestamp).timestamp
  })
' > stats.json

# 2) stats.json'ı bu araca yapıştırın
#    Araç çubuğundan "Düzleştirme (Önerilen)" modunu seçin
#    "Zebra + Duyarlı Sarma + Kenarlık" seçeneklerini işaretleyin
#    Tablo sınıfı adı alanına: min-w-full text-sm border-collapse girin
#    Null yer tutucusunu - olarak ayarlayın (eksik alanlar - olarak gösterilir)
#    Başlığı: 2026-07 Üretim Hata Günlüğü İstatistikleri olarak ayarlayın
#    Convert'e tıklayın ve table.html dosyasını indirin

# 3) S3 / OSS statik sitesine yükleyin
aws s3 cp table.html s3://my-bucket/reports/2026-07.html --acl public-read

# Veya Confluence / Notion / VuePress belgelerine gömün
sed -i '' 's/min-w-full/min-w-full shadow-md/g' table.html

# Veya HTML e-posta olarak gönderin
mutt -e "set content_type=text/html" -s "2026-07 Hata Günlüğü" your@email.com < table.html

Sık Sorulan Sorular

JSON verisini HTML tablosuna nasıl dönüştürürüm?

JSON dizisini (her öğe bir nesnedir) sol giriş kutusuna yapıştırın, araç çubuğundaki "Convert" düğmesine tıklayın. Sağdaki Code sekmesi sözdizimi vurgulamalı HTML tablo kodunu gösterir, Preview sekmesi iframe gerçek zamanlı oluşturmayı gösterir. Herhangi bir HTML sayfasına yapıştırmak için "Copy" düğmesine tıklayın.

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

Evet. Bu araçta yerleşik iç içe düzleştirme modu vardır, `{user:{name:'Alice',age:30}}` öğesini 6 seviyeye kadar `user.name` ve `user.age` sütunlarına özyinelemeli olarak genişletir. Araç çubuğundan "Üst Düzey Anahtarlar" moduna (iç içe nesneyi tek sütunlu JSON dizesi olarak tutar) veya "Dize" moduna (her şeyi dize olarak işler) da geçebilirsiniz.

Düzleştirilmiş anahtar ayırıcısını değiştirebilir miyim?

Varsayılan ayırıcı `.` (`user.name` üretir), JavaScript / MongoDB / Lodash gibi yaygın kurallarla uyumludur. `user_name` veya `user/name` gerekirse, araç çubuğundaki "Ayırıcı" girişinde (iler düzey kullanıcılar için görünür) özelleştirebilirsiniz.

Üretilen HTML tablosunun stilini özelleştirebilir miyim?

Araç üç stil özelleştirme yöntemi sunar: ① araç çubuğundaki 6 görsel değiştirici (zebra, kenarlık, vurgu, kompakt, indeks, başlık) anında uygulanır; ② "tablo sınıfı adı" girişine özel bir sınıf girin (örn. Tailwind'in `min-w-full border-collapse` sınıfı), `<table class="...">` öğesine enjekte edilir; ③ üretilen HTML'yi kullanmadan önce doğrudan düzenleyin.

Tailwind / Bootstrap destekleniyor mu?

Evet. "Tablo sınıfı adı" girişine Tailwind sınıfları (örn. `min-w-full border-collapse text-sm`) veya Bootstrap sınıfları (örn. `table table-striped table-hover table-bordered`) girin — araç bu sınıfları `<table>` etiketine enjekte eder. Not: aracın satır içi stilleri en yüksek önceliğe sahiptir ve bazı Tailwind stillerini (arka plan rengi, dolgu) geçersiz kılar. Tailwind'i kullanmadan önce ilgili araç çubuğu seçeneğini (örn. zebra) kapatmanızı öneririz.

Code sekmesi ile Preview sekmesi arasındaki fark nedir?

Code sekmesi, sözdizimi vurgulamalı HTML kaynak kodunu görüntüler, kopyalama ve düzenleme için uygundur. Preview sekmesi, korumalı bir iframe'de gerçek tabloyu oluşturarak WYSIWYG deneyimi sağlar. İçerik aynıdır — "koda bak" ve "sonuca bak" arasında hızla geçiş yapabilirsiniz.

Üretilen HTML mobil duyarlı tasarımı destekliyor mu?

Evet. Araç varsayılan olarak "Duyarlı Sarma" seçeneğini etkinleştirir ve `<table>` öğesini `<div style="overflow-x:auto;max-width:100%;">` konteynerine sarar. Ekran genişliği tablo genişliğinden az olduğunda, konteyner otomatik olarak yatay kaydırma çubuğu gösterir, sayfa düzenini bozmaz. Bu seçenek araç çubuğundan kapatılabilir.

Hücrelerdeki null, boolean ve sayı değerleri nasıl görüntülenir?

Araç tür farkında vurgulama yapar: null gri italik (yer tutucu araç çubuğunda `N/A`, `-` vb. olarak özelleştirilebilir), boolean true yeşil, false kırmızı, sayılar mavi, düz dizeler olduğu gibi görüntülenir. İç içe nesneler Düzleştirme modunda yola göre çıkarılır, diğer modlarda JSON dizesine dönüştürülür ve 50 karaktere kesilir.

Üretilen HTML kodu doğrudan web sitesinde kullanılabilir mi?

Evet. Çıktı standart W3C HTML5 tablo yapısıdır (`<table>` / `<thead>` / `<tbody>` / `<caption>`), CSS satır içi style olarak çıkarılır. Dış CSS veya JS'ye bağımlı olmadan herhangi bir HTML sayfasına doğrudan yapıştırılarak bağımsız olarak kullanılabilir. table.html dosyası olarak da indirilebilir.

JSON'dan HTML'ye ile JSON'dan CSV'ye arasındaki fark nedir?

HTML tablosu stilli görsel bir formattır, web sayfalarına gömmek için mükemmeldir; CSV düz metin veri formatıdır, Excel / Pandas / veritabanlarına içe aktarmak için mükemmeldir. İkisi de aynı JSON verisinden üretilir. Önce bu araçta düzeni önizlemenizi, ardından JSON'dan CSV'ye aracıyla veri sürümünü dışa aktarmanızı öneririz.

Tablo başlığı metnini nasıl değiştiririm?

Araç, JSON nesnesinin ilk düzey anahtarlarını otomatik olarak tablo başlığı `<th>` içeriği olarak kullanır (Düzleştirme modunda noktayla ayrılmış tam yol, örn. `user.name`). Başlığın farklı metin (örn. Türkçe) göstermesini istiyorsanız üç yöntem var: ① kaynak JSON anahtar adlarını doğrudan değiştirin; ② ürettikten sonra sağdaki Code sekmesinde `<th>...</th>` içeriğini manuel olarak düzenleyin; ③ sed ile üretilen HTML'yi toplu olarak değiştirin.

İndirilen table.html tarayıcıda açıldığında boş görünüyor. Ne yapmalıyım?

İndirilen table.html yalnızca `<table>` etiket yapısını (muhtemelen duyarlı sarma `<div>` ile birlikte) içerir, tam HTML iskeleti (`<html>` / `<head>` / `<body>`) içermez. Mevcut web sayfalarına gömmek için bir parçacık olarak tasarlanmıştır. Bir HTML biçimlendirme aracıyla tam HTML iskeletini manuel olarak ekleyebilir veya proje sayfanızdaki uygun konuma doğrudan yapıştırabilirsiniz.

1000+ satırlık tablo oluştururken sayfa yavaşlıyor. Ne yapmalıyım?

Araç varsayılan olarak 1000 satır sınırı koruması ayarlar, aşıldığında "Kesildi" bildirimi gösterir. Gerçekten 5000 satırlık bir tabloya ihtiyacınız varsa, araç çubuğundaki "Maks. Satır"ı 10000'e yükseltebilirsiniz, ancak şunları öneririz: ① sayfalanmış tablolara bölün (sayfa başına 50 satır); ② sanal kaydırma için IntersectionObserver kullanın; ③ veri görüntüleme senaryoları için TanStack Table / AG Grid gibi özel bileşen kitaplıkları kullanın.

Veri sunucuya yükleniyor mu? Gizlilik ne kadar güvenli?

Her şey tarayıcınızda yerel olarak çalışır. Tüm JSON ayrıştırma, HTML oluşturma, kopyalama ve indirme işlemleri JavaScript aracılığıyla tarayıcınızda gerçekleşir ve dosya okuma yalnızca yerel FileReader'da yapılır. Hiçbir şey herhangi bir sunucuya gönderilmez. Hassas API yanıtları ve yayınlanmamış iş alanlarıyla güvenle kullanabilirsiniz — sayfayı kapattığınızda tüm veriler silinir.

Sorun Giderme

Bildirim: "Lütfen JSON verisi girin" veya benzer hata

Sol giriş kutusu boş veya yalnızca boşluk karakterleri içeriyor. Geçerli JSON içeriği yapıştırdığınızdan emin olun, örnek veriyi yüklemek için "Sample" düğmesine tıklayın veya .json / .txt dosyası seçmek için "Upload" düğmesine tıklayın.

Bildirim: "Unexpected token ... in JSON at position N"

JSON biçimi geçersiz. Yaygın nedenler: ① sonda fazladan virgül (örn. [{},{},]); ② çift tırnak yerine tek tırnak kullanımı; ③ JSON yerine JS nesne sözdizimi (örn. {key: value}). Önce bir JSON biçimlendirme aracıyla doğrulayıp düzeltin.

Üretilen tablonun yalnızca başlığı var, veri satırı yok

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

Düzleştirme modunda sütun adları çok uzun (örn. user.profile.address.city.country.code)

İç içe derinlik çok fazla olduğunda öneriler: ① "Üst Düzey Anahtarlar" moduna geçin (yalnızca üst düzey alanları alır, iç içe nesneler tam JSON sütunu olur); ② gereksiz iç içe yapıyı azaltmak için kaynak JSON yapısını değiştirin; ③ araç çubuğundaki Sıfırla düğmesini kullanarak varsayılan düzleştirme ayarlarını geri yükleyin.

Tailwind sınıfı enjekte edildikten sonra stiller etkili olmuyor

Araç varsayılan olarak satır içi stil (dolgu, arka plan vb.) çıkarır ve bu, Tailwind'in aynı adlı yardımcı sınıflarını geçersiz kılar. Öneriler: ① Tailwind ile arka plan rengini kontrol etmeden önce ilgili araç çubuğu stil seçeneğini (örn. zebra) kapatın; ② veya üretilen HTML'den satır içi style özniteliklerini kaldırmak için PostCSS kullanın.

Duyarlı sarma sonrası tablo yüksekliği sıkıştırıldı

"Duyarlı Sarma", dış div'in yüksekliğini varsayılan olarak tabloya uyacak şekilde ayarlar. Üst konteyneriniz belirtilmiş bir yüksekliği olmayan bir flex düzeni ise, alt tablo sıkıştırılabilir. Üst konteynere min-h-0 ekleyin veya tablo yüksekliğini ayarlayın.

İndirilen table.html tarayıcıda açıldığında boş

İndirilen dosya yalnızca <table> parçacığını (muhtemelen duyarlı sarma <div> ile birlikte) içerir, tam HTML iskeletini (<!doctype html> / <html> / <head> / <body>) içermez. Mevcut web sayfalarına kolayca gömülmesi için tasarlanmıştır. Tam iskeleti eklemek için bir HTML biçimlendirme aracı kullanın veya projenizdeki uygun konuma doğrudan yapıştırın.

Tablo başlığı Türkçe karakterler bozuk görünüyor

Kaynak JSON'daki anahtarlar Türkçe karakterler içeriyor — kaynak dosyanın UTF-8 kodlu olduğundan emin olun. JSON Excel'den kopyalandıysa GBK'ye dönüştürülmüş olabilir; yapıştırmadan önce kodlama dönüştürme aracıyla UTF-8'e dönüştürün.

Üretilen tabloyu toplu olarak değiştirmek istiyorum (örn. şirket logosu / renk değişikliği)

Ürettikten sonra, sağdaki Code sekmesinden HTML'yi kopyalayın ve stil özniteliklerini toplu olarak değiştirmek için sed / PostCSS / özel bir betik kullanın. Yaygın komut: sed -i '' 's/#f9fafb/#your-color/g' table.html.

1000+ satırlık tablo oluştururken sayfa yavaşlıyor

Araç varsayılan olarak 1000 satır koruma sınırı ayarlar. Araç çubuğundan maxRows'u 10000'e kadar ayarlayabilirsiniz, ancak tarayıcılar çok büyük DOM'larda (>1000 düğüm) belirgin performans düşüşü yaşar. Öneriler: ① sayfalanmış tablolara bölün (sayfa başına 50 satır); ② sanal kaydırma için IntersectionObserver kullanın; ③ veri görüntüleme senaryoları için TanStack Table / AG Grid gibi özel bileşen kitaplıkları kullanın.

Geçmiş kayıtları kayboldu

Geçmiş, tarayıcının localStorage'ında saklanır. Tarayıcı verilerini temizlemek / gizli moda geçmek / başka bir tarayıcı kullanmak geçmişin kaybolmasına neden olur. Araç geçmişi hiçbir sunucuya yüklemez, bu nedenle cihazlar arasında senkronize edilemez.

Satır sınırından sonra ham verileri göremiyorum

Araç varsayılan olarak maxRows=1000'dir, aşıldığında satırlar kesilir. Kaynak verileriniz 1000'den fazla satır içeriyorsa ancak yalnızca ilk N satırı önizleme yapmanız gerekiyorsa, daha hızlı sonuç için maxRows'u daha küçük (örn. 100) ayarlayın. Tüm veriler için Python / Node.js gibi betiklerle doğrudan işlemeyi öneririz.

Sözlük

HTML Tablosu (HTML Table)
W3C standart yapılandırılmış veri görüntüleme öğesi, table / thead / tbody / tr / th / td / caption gibi semantik etiketlerden oluşur. Bu aracın ürettiği kod bu yapıyı sıkı bir şekilde takip eder.
JSON Dizisi
Köşeli parantezler [...] içine alınmış nesne koleksiyonu. Araç, dizideki her nesneyi tablonun bir satırı olarak kullanır; boş dizi tablo oluşturmaz (bildirim gösterilir).
JSON Nesnesi
Kıvırcık parantezler {} içine alınmış anahtar-değer çiftleri koleksiyonu. Araç, nesnenin her anahtarını tablo başlığı, değerini hücre olarak kullanır; tek nesne otomatik olarak tek satırlık tabloya sarılır.
Düzleştirme (Flatten)
İç içe nesneleri noktayla ayrılmış düz anahtarlara özyinelemeli olarak genişletme, örn. {user:{name:'A'}} → 'user.name'. Araç, yapılandırılabilir ayırıcı ile 6 seviyeye kadar otomatik düzleştirmeyi destekler.
thead / tbody
HTML tablosunun iki semantik bölümü: thead başlık satırını (th) sarar, tbody veri satırlarını (td) sarar. Aracın ürettiği kod bu iki kısmı sıkı bir şekilde ayırır.
Caption
Tablo başlık etiketi, tablonun içindeki ilk satırda bulunur. Araç özel başlık metnini destekler; etkinleştirildiğinde belirtilen başlık tablonun üstünde görüntülenir, SEO ve erişilebilirlik için yararlıdır.
Zebra (Zebra Striping)
Tek ve çift satırların farklı arka plan renklerini dönüşümlü olarak kullandığı görsel desen, genellikle #fff / #f9fafb kombinasyonu kullanılır. Araç, "Zebra" onay kutusu ile bunu etkinleştirir, uzun tabloların okunabilirliğini önemli ölçüde artırır.
Satır İçi Stil (Inline Style)
Harici stil sayfasına başvurmak yerine, HTML etiketinin style özniteliği aracılığıyla doğrudan CSS yazma. Araç varsayılan olarak tüm stilleri satır içi style olarak çıkarır, böylece kod ek CSS dosyası olmadan kullanılabilir.
CSS sınıfı kancası
Aracın farklılaştırıcı özelliği: `<table>` etiketine herhangi bir sınıf dizesi (örn. Tailwind sınıfı) enjekte ederek mevcut CSS çatılarıyla sorunsuz entegrasyon. Bu rakiplere karşı önemli bir yükseltmedir.
iframe sandbox
HTML iframe etiketinin güvenli korumalı alan modu, betik yürütme ve form gönderimini kısıtlayabilir. Araç, üretilen HTML'yi önizlemek için sandbox="allow-same-origin" iframe'ini kullanır, yanlışlıkla betik yürütülmesini önler.
Tür farkında vurgulama
Aracın farklılaştırıcı özelliği: hücre değerinin JS türüne (null / boolean / number / object / string) göre farklı renkler uygulayarak API verilerinin hata ayıklamasını daha sezgisel hale getirir.
localStorage geçmişi
Tarayıcı tarafından sağlanan yerel anahtar-değer deposu (kapasite yaklaşık 5-10MB). Araç, son 200 girişi kalıcı olarak saklamak için localStorage kullanır, yenileme veya yanlışlıkla sekme kapandıktan sonra hızla geri yüklenebilir.
Duyarlı Sarma (Responsive Wrapper)
Tabloyu dış `<div style="overflow-x:auto;max-width:100%;">` içine sararak dar ekranlarda otomatik olarak yatay kaydırma çubuğu görünmesini sağlama. Varsayılan olarak etkindir, araç çubuğundan kapatılabilir.
Debounce
Ön uç performans optimizasyon tekniği: yüksek frekanslı olayların (örn. giriş) geri aramalarını son tetiklemeden sonra tek bir yürütmeye birleştirme. Araç, büyük dosya ayrıştırmadaki gecikmeleri önlemek için 500 ms debounce ayarlar.
W3C HTML5
World Wide Web Consortium (W3C) tarafından geliştirilen HTML standart spesifikasyonu. Aracın ürettiği kod HTML5 spesifikasyonuna uygundur ve tüm modern tarayıcılarda doğru şekilde işlenir.

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

Araç çubuğu farklı iç içe senaryolar için üç mod sağlar. JSON yapısının karmaşıklığına göre seçin:

ModDavranışÖrnek SütunSenaryo
Düzleştirme (Önerilen)İç içe nesneleri noktayla ayrılmış anahtarlara özyinelemeli olarak genişletir (derinlik ≤ 6)user.name / user.tags.0GitHub / Stripe / Notion gibi gerçek API iç içe yapıları; her alanı ayrı sütunda istiyorsanız
Üst Düzey AnahtarlarYalnızca nesnenin ilk düzey anahtarlarını alır; iç içe nesneler / diziler tek sütun JSON dizesi oluruser / tagsİç içe yapı dengesiz veya çok derin (>6 seviye) olduğunda; yalnızca üst düzey alanlara genel bakış
DizeTüm değerler zorla dize olarak işlenir; iç içe nesneler doğrudan JSON.stringify yapılıruser (JSON blob olarak)Hata ayıklama senaryoları: orijinal JSON yapısını görsel inceleme için koru

Araç Çubuğu 14 Yapılandırılabilir Seçenek Kopya Kağıdı

Araç çubuğundaki tüm 14 yapılandırılabilir seçenek ve hızlı kombinasyon seçimi için görsel farklılıkları:

SeçenekTürGörsel Etki / Davranış
includeIndexcheckboxEn sola # numaralı sütun ekler (1'den başlayarak artar)
stripedcheckboxTek/çift satır arka planlarını dönüşümlü olarak değiştirir (beyaz / #f9fafb)
borderedcheckboxHücreler etrafında 1px gri kenarlık + başlık altında 2px vurgu çizgisi
hovercheckboxSatırın üzerine gelindiğinde açık gri #f9fafb arka plan
compactcheckboxHücre dolgusunu 10px×14px'ten 6px×8px'e küçültür
responsivecheckboxoverflow-x:auto konteynerine sarar, dar ekranlarda yatay kaydırma
flattenModeselectİç içe işleme: Düzleştirme (Önerilen) / Üst Düzey Anahtarlar / Dize
tableClasstext<table class="..."> öğesine enjekte edilen özel CSS sınıfı
nullPlaceholdertextnull / undefined hücreleri için görüntü metni (boşsa 'null' gösterir)
maxRowsnumberMaksimum üretilen satır sayısı (1-10000), aşıldığında otomatik kesme ve bildirim
captiontextTablonun üstünde gösterilen özel başlık metni (caption-side: top)
indexHeadertextİndeks sütununun başlık metni (varsayılan #)
flattenSeparatortextDüzleştirme modundaki anahtar ayırıcısı (varsayılan ., _ / - vb. olarak değiştirilebilir)
wrapperClasstextDuyarlı sarma <div> için özel CSS sınıfı (ileri düzey)

Hücre Tür Farkında Vurgulama Kuralları Kopya Kağıdı

Araç, hızlı veri türü tanıma için JSON değerinin JavaScript türüne göre farklı renkleri otomatik olarak uygular:

JS TürüAlgılamaUygulanan StilÖrnek Çıktı
null / undefinedval === null || val === undefinedcolor: #9ca3af; font-style: italic; yer tutucu metni gösterir (yapılandırılabilir)<span style="color:#9ca3af;font-style:italic;">N/A</span>
boolean (true)typeof val === 'boolean' && valcolor: #059669;<span style="color:#059669;">true</span>
boolean (false)typeof val === 'boolean' && !valcolor: #dc2626;<span style="color:#dc2626;">false</span>
numbertypeof val === 'number'color: #2563eb;<span style="color:#2563eb;">42</span>
object / array (Düzleştirme modu)type === 'object' + Düzleştirme modunda yola göre çıkarmaİç içe nesneler yola göre atomik değerlere çıkarılıruser.name → 'Alice'
object / array (diğer modlar)typeof val === 'object'JSON.stringify ve kaçış sonrası 50 karaktere keser, mor italik + title fareyle üzerine gelince tam JSON<span style="color:#7c3aed;font-style:italic;" title="...">{"id":1…</span>
stringdiğer durumlarVarsayılan metin rengi #4b5563Jennifer Martinez

Privacy & Security

Bu JSON'dan HTML'ye aracı, tüm JSON ayrıştırma, iç içe düzleştirme, HTML oluşturma, kopyalama ve indirme işlemlerini yalnızca JavaScript aracılığıyla tarayıcınızda çalıştırır. Girilen JSON verileri ve üretilen HTML kodu hiçbir sunucuya yüklenmez, kaydedilmez, önbelleğe alınmaz veya bulutta depolanmaz. Yayınlanmamış API yanıtları ve dahili iş alanları gibi hassas JSON'larla güvenle kullanabilirsiniz — sayfayı kapattığınızda tüm veriler silinir.

Authoritative References