JSON ke Markdown

Alat konversi JSON ke Markdown online gratis. Ubah array JSON atau objek bersarang dalam satu klik menjadi kode tabel GFM Markdown siap pakai untuk GitHub README, dokumentasi teknis, dan blog. 4 mode pemrosesan bersarang, kedalaman flatten dapat disesuaikan (1-6), pemisah kustom, beautify kunci (user_name → User Name), sortir kolom, split multi-tabel pintar, placeholder null pintar, perataan, pratinjau 9 opsi langsung. Sepenuhnya lokal di browser.

Rekomendasi Terkait

Tentang Konversi JSON ke Markdown dan Tabel Markdown

Alat JSON ke Markdown secara otomatis mengubah struktur data JSON menjadi kode tabel GFM standar. Alat ini membebaskan pengembang dari penulisan manual pemisah `|` / `-` dan sangat berguna untuk menampilkan data bersarang dari API, file konfigurasi sebagai dokumentasi teknis, README, dan blog dengan cepat.

Tabel Markdown adalah representasi tabel teks murni yang diusulkan oleh John Gruber pada tahun 2004: `|` memisahkan sel, `-` mendefinisikan baris pemisah header, `:` opsional mengontrol perataan. GFM memperluas Markdown standar dan didukung secara native oleh GitHub, GitLab, Notion, Confluence, Slack, Discord, VS Code. Kode yang dihasilkan alat ini sangat sesuai dengan GFM.

Alat JSON ke Markdown di pasaran terbagi tiga kategori: 1) Hanya menghasilkan string kode Markdown; 2) Menyediakan konfigurasi lanjutan (flatten mendalam/beautify kunci/split multi-tabel) — alat ini mewakilinya; 3) Mendukung parsing balik Markdown (Markdown → JSON).

'Flatten bersarang + beautify kunci' adalah pembeda utama: alat tradisional menampilkan `{user:{name:'Alice'}}` sebagai string, alat ini memperluas secara rekursif ke kolom `user.name` (hingga 6 level, pemisah dapat dikonfigurasi) dan mengubah `user_name`/`userProfileId` menjadi `User Name`/`User Profile Id`.

'Split multi-tabel pintar' adalah pembeda lain: ketika ada beberapa field array tingkat atas, alat secara otomatis membuat tabel independen dengan judul `### NamaField` (H3).

Keuntungan terbesar Markdown dibanding HTML adalah 'teks murni untuk version control': git diff dengan jelas menunjukkan perubahan baris tabel di .md, tidak seperti tag HTML `<tr>` `<td>` yang sulit dibaca di alat diff.

Kasus penggunaan

  • Menulis dokumentasi teknis — mengubah data JSON dari API menjadi tabel Markdown untuk ditampilkan
  • GitHub README — menampilkan data konfigurasi, deskripsi parameter, contoh respons API
  • Laporan data — menyajikan hasil analisis dalam tabel Markdown (dapat diekspor ke Notion/Confluence)
  • Dokumentasi API (Swagger/Redoc/OpenAPI) — menampilkan struktur data dengan jelas
  • Bagian dokumen untuk generator situs statis (VuePress/Docusaurus/Hexo)
  • Berbagi data terstruktur di Slack/Discord/pesan instan perusahaan
  • Pratinjau tabel di VS Code/JetBrains IDE Markdown Preview
  • Kolaborasi version control: tabel Markdown adalah teks murni, ramah git diff dan Code Review
  • Pendidikan: mengubah tugas JSON bersarang mahasiswa menjadi tabel seragam untuk penilaian
  • Template email (klien email pendukung Markdown: Bear Mail, HEY)
  • Impor ke Notion: buat tabel Markdown → tempel ke Notion
  • Internasionalisasi: struktur bersama untuk dokumen setelah flatten + Beautify keys

Cara Penggunaan

  1. Tempel array JSON (disarankan) atau objek bersarang ke editor kiri, atau klik 'Sample' untuk memuat 3 sampel pengguna bersarang, atau 'Upload' untuk unggah file .json/.txt
  2. Pilih mode pemrosesan bersarang di toolbar (disarankan 'Flatten'), jika bersarang dalam tingkatkan Max Depth
  3. Jika perlu pemisah kustom, masukkan di field Separator (default `.`, dapat diubah menjadi `_` / `-` / `/`)
  4. Pilih Strategy: array sederhana gunakan 'Single', multi array gunakan 'Multi' split otomatis, paksa split gunakan 'Split'
  5. Centang opsi gaya: Sort columns, Beautify keys, Exclude empty, Include Caption, Include Index
  6. Pilih perataan: kiri / tengah / kanan
  7. Klik 'Convert' (atau tekan Enter) untuk memicu konversi — ada perlindungan debounce 500ms saat input
  8. Lihat kode tabel Markdown yang dihasilkan di sisi kanan, jika puas klik 'Copy' untuk menyalin dan tempel ke dokumen Markdown, atau 'Download' untuk menyimpan sebagai table.md

Fitur

  • Flatten otomatis objek bersarang: perluasan rekursif `{user:{name,age}}` menjadi `user.name`, `user.age` dengan notasi titik (kedalaman 1-6), tanpa perlu skrip flatten manual
  • 4 mode pemrosesan bersarang: Flatten (direkomendasikan, kedalaman dapat disesuaikan) / First Key (objek bersarang sebagai JSON satu kolom) / Stringify (objek bersarang sebagai string JSON) / Raw JSON (setiap baris sebagai blok JSON lengkap)
  • Split multi-tabel pintar: mengenali field array tingkat atas (`users`, `orders`), otomatis membagi menjadi tabel Markdown independen dengan judul ###, ideal untuk data bisnis kompleks
  • Pemisah kustom: default `.` (kompatibel dengan Lodash/MongoDB), dapat diubah menjadi `_` / `-` / `/` di toolbar
  • Beautify nama kunci (camelCase/snake_case → Title Case): `user_name` → `User Name`, `userProfileId` → `User Profile Id` — header menjadi mudah dibaca manusia
  • Sakelar sortir kolom: urutkan semua kolom header sesuai abjad dalam satu klik, menjaga urutan kolom stabil saat membandingkan dokumen
  • Eksklusi kolom kosong: deteksi otomatis dan eksklusi kolom yang semua barisnya null/undefined/string kosong
  • 3 mode perataan: kiri (`:-`) / tengah (`:-:`) / kanan (`-:`), sakelar tombol radio, sesuai GFM
  • Sakelar kolom indeks baris: opsional tambahkan kolom `#` di paling kiri (teks header dapat dikustomisasi)
  • Sakelar judul Caption: otomatis buat `### NamaData` judul tingkat tiga (H3) di atas setiap tabel, struktur dokumen jelas, membantu SEO
  • Escape sadar tipe: `|` / `\` / baris baru dalam sel otomatis di-escape menjadi `\|` / `\\` / `<br>`
  • Umpan balik statistik generate: bilah status bawah menampilkan langsung 'Telah dibuat N tabel × M baris × K kolom' + jumlah byte
  • Data sampel + unggah file: 3 sampel pengguna bersarang bawaan dimuat satu klik, dukungan drag-and-drop atau unggah .json/.txt
  • Sepenuhnya pemrosesan lokal browser: semua parsing JSON, flatten bersarang, generate Markdown, salin/unduh selesai di browser, data tidak diunggah ke server

Contoh Kode

JavaScript: fetch + flatten bersarang + output Markdown

javascript

Penggunaan paling umum: setelah memanggil GitHub API, flatten objek bersarang ke notasi titik, gunakan alat ini untuk membuat tabel Markdown.

// 1) Panggil GitHub API untuk mendapatkan daftar pengguna
async function fetchUsers() {
  const res = await fetch('https://api.github.com/users?per_page=10');
  return await res.json();
}
// ... (fungsi flatten dan generateMarkdownTable)
const users = await fetchUsers();
const md = generateMarkdownTable(... [truncated]

Python: generate laporan Markdown di backend Flask

python

Agregasi data multi-sumber di backend, generate tabel Markdown dengan Python (tanpa dependensi frontend).

from flask import Flask
import json
app = Flask(__name__)

def flatten(obj, prefix='', sep='.', result=None, depth=0, max_depth=3):
    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
# ... [truncated]

Pertanyaan Umum

Bagaimana cara mengubah data JSON menjadi tabel Markdown?

Tempel array JSON (setiap elemen adalah objek) atau objek tunggal ke kotak input kiri, klik tombol 'Convert' di toolbar — sisi kanan akan otomatis menghasilkan kode tabel Markdown standar GFM. Kode dapat langsung ditempel ke GitHub README, blog Markdown, halaman Confluence, atau dokumen Notion.

Bisakah objek JSON bersarang diubah menjadi tabel Markdown?

Bisa. Alat ini memiliki 4 mode pemrosesan bersarang bawaan: ① Flatten (direkomendasikan): perluas rekursif `{user:{name:'Alice',age:30}}` menjadi kolom `user.name`, `user.age`, kedalaman 1-6; ② First Key: hanya ambil field tingkat atas, objek bersarang sebagai string JSON satu kolom; ③ Stringify: semua objek bersarang sebagai string JSON; ④ Raw JSON: setiap baris sebagai blok JSON lengkap.

Bisakah pemisah kunci setelah flatten diubah?

Default menggunakan `.` (kompatibel dengan JavaScript/MongoDB/Lodash). Untuk `user_name` (snake_case) atau `user/name` (gaya path), ubah di field 'Separator' pada toolbar (maks 3 karakter).

Apa itu beautify kunci (Beautify keys)?

Saat mencentang 'Beautify keys', `user_name`, `userProfileId` otomatis diubah menjadi `User Name`, `User Profile Id` (Title Case). Internal: garis bawah/tanda hubung diubah ke spasi, spasi disisipkan sebelum huruf besar camelCase, huruf pertama setiap kata dikapitalisasi. Ini membuat header lebih mudah dibaca, terutama berguna di README dan dokumentasi API.

Bagaimana cara membagi menjadi beberapa tabel?

Dropdown 'Strategy': ① Single (default) — seluruh JSON satu tabel; ② Multi — JSON sebagai objek dengan beberapa field array, setiap array otomatis dibagi menjadi tabel independen dengan judul ###; ③ Split — paksa membagi, hanya proses field array, abaikan lainnya.

Apakah tabel Markdown yang dihasilkan bisa langsung digunakan di GitHub?

Bisa. Tabel yang dihasilkan sesuai dengan CommonMark dan GFM, berfungsi di GitHub README, GitLab, Notion, VuePress/Docusaurus/Hexo, Slack/Discord, VS Code Markdown Preview — semua platform yang mendukung GFM.

Apakah mendukung generate batch beberapa tabel Markdown?

Bisa. Ubah Strategy ke 'Multi' atau 'Split' — alat akan mengenali array tingkat atas dan membuat tabel independen untuk setiap array dengan judul `### NamaField`.

Bagaimana mengontrol urutan header?

Default menggunakan urutan kemunculan pertama kunci. Untuk urutan alfabet, centang 'Sort columns'. Untuk urutan kustom penuh, gunakan fitur 'Column order' (segera hadir).

Terlalu banyak kolom kosong, bagaimana?

Centang 'Exclude empty' — alat akan otomatis mendeteksi dan mengecualikan kolom yang semua barisnya null/undefined/kosong. Sangat berguna untuk data sparse.

Apakah karakter | dalam sel merusak tabel?

Tidak. Alat otomatis escape `|` → `\|`, `\` → `\\`, baris baru → `<br>`, memastikan tabel Markdown tidak bergeser di semua renderer. Ini adalah peningkatan kunci dibanding pesaing.

Apa perbedaan tabel Markdown dan tabel HTML?

Markdown adalah teks murni (sintaks `|` `-`), cocok untuk dokumentasi teknis, README, blog, kolaborasi version control; HTML adalah format halaman web dengan gaya (tag `<table>` `<tr>`), cocok untuk halaman frontend dengan CSS. Untuk dokumentasi teknis gunakan alat ini, untuk halaman web gunakan JSON ke HTML.

Batas maksimum baris tabel Markdown?

Tidak ada batas atas. Rekomendasi: >1000 baris — bagi ke beberapa tabel; di GitHub README file tidak boleh melebihi 1MB; ikuti batasan Notion/Confluence.

Bagaimana menyesuaikan judul Caption?

Dalam mode 'Multi/Split', Caption otomatis menggunakan nama field array tingkat atas. Dalam mode 'Single', centang 'Include Caption' dan masukkan teks kustom.

Apakah data diunggah ke server? Apakah privasi aman?

Sepenuhnya lokal di browser. Semua parsing, flatten, generate dilakukan melalui JavaScript, file hanya dibaca oleh FileReader lokal. Data tidak dikirim ke server. Menutup halaman menghapus semua data.

Pemecahan Masalah

Error 'Silakan masukkan data JSON'

Kotak input kiri kosong. Pastikan JSON valid telah ditempel, atau gunakan 'Sample'/'Upload'.

Error 'Unexpected token ... in JSON at position N'

JSON tidak valid. Penyebab: koma berlebih di akhir, kutip tunggal bukan ganda, sintaks objek JS. Perbaiki dengan JSON Formatter.

Tabel hanya berisi header tanpa baris data

JSON adalah array kosong [] atau objek kosong {}. Tambahkan setidaknya satu objek.

Nama kolom terlalu panjang saat flatten

Kurangi Max Depth (dari 6 ke 3-4), beralih ke 'First Key', atau sederhanakan struktur JSON sumber.

Mode Multi tidak membuat banyak tabel

Pastikan JSON sumber adalah objek dengan field array. Jika semua field adalah string/angka/objek, Multi akan kembali ke Single.

Setelah Beautify keys header kosong

Fungsi tidak mengubah kunci yang dimulai dengan huruf besar atau karakter khusus (__proto__, constructor). Ganti nama di JSON sumber.

Glosarium

Tabel Markdown
Tabel teks murni dari karakter | dan -, didefinisikan oleh spesifikasi GFM.
GFM
GitHub Flavored Markdown — dialek GitHub di atas Markdown standar, mencakup tabel, coret, daftar tugas, tautan otomatis.
CommonMark
Spesifikasi standar sintaks Markdown (2014). Sintaks tabel GFM memperluas CommonMark.
Array JSON
Koleksi objek dalam kurung siku [...]. Setiap objek menjadi satu baris tabel. Array kosong tidak menghasilkan tabel.
Objek JSON
Koleksi pasangan kunci-nilai dalam kurung kurawal {}. Kunci menjadi header, nilai menjadi sel.
Flatten Bersarang
Perluasan rekursif objek bersarang ke nama kunci datar dengan pemisah titik. Mendukung kedalaman 1-6, pemisah dapat dikonfigurasi.
Beautify Kunci
Mengubah snake_case/camelCase ke Title Case: user_name → User Name.
Split Multi-Tabel Pintar
Mengenali field array tingkat atas dan otomatis membuat tabel independen dengan judul ###.
Sintaks Perataan
Baris pemisah GFM mendukung kontrol perataan melalui: :- kiri, :-: tengah, -: kanan.
Escape Markdown
Mengubah karakter khusus (|, \, baris baru) ke bentuk aman (\|, \\, <br>).
Debounce
Teknik optimasi: menggabungkan event frekuensi tinggi menjadi satu eksekusi. Penundaan 500ms.

Privacy & Security

Semua operasi parsing JSON, flatten bersarang, generate Markdown, salin dan unduh dalam alat ini dilakukan sepenuhnya secara lokal di browser melalui JavaScript. Data JSON input dan kode Markdown yang dihasilkan tidak diunggah ke server, tidak dicatat, di-cache, atau disimpan di cloud. Menutup halaman akan menghapus semua data.

Authoritative References