logo
GeekFormat

Pemformat JSON

Belum ada konten

preview.json
Siap

Alat Pemformat JSON online gratis. Mendukung pempercantikan, validasi, kompresi, dan pengeditan visual pohon JSON. Deteksi kesalahan sintaksis bawaan dan perbaikan otomatis. Mendukung konversi kode ke 13 bahasa pemrograman (TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML). Ideal untuk debugging API, pemeriksaan konfigurasi, dan pembacaan log.

Rekomendasi Terkait

Kasus penggunaan

  • Mempercantik JSON satu baris dari respons API menjadi struktur yang dapat dibaca untuk memudahkan pemecahan masalah
  • Memformat file konfigurasi dan bidang log sebelum pemrosesan lebih lanjut
  • Cepat memvalidasi apakah JSON legal dan mengompresi ukuran selama pengembangan dan debugging
  • Mengonversi JSON ke antarmuka TypeScript, kelas Java, kamus Python, atau format kode lainnya
  • Mengurutkan berdasarkan nama kunci sebelum membandingkan dua respons API bidang demi bidang
  • Memetakan struktur bersarang yang kompleks dari API pihak ketiga menggunakan tampilan pohon atau peta pikiran untuk pemahaman hierarki cepat
  • Memperluas log analitik dan data Webhook yang dikompresi untuk dibaca, guna menemukan bidang abnormal
  • Memformat JSON padat dari variabel lingkungan atau konfigurasi lokal untuk diedit, kemudian mengompres untuk menulis kembali

Fitur

  • Pempercantikan JSON Intuitif: Cepat mengatur data satu baris menjadi struktur hierarkis yang mudah dibaca, dengan indentasi 2/4 spasi atau Tab yang dapat dialihkan
  • Dukungan Validasi & Kompresi: Deteksi kesalahan sintaksis waktu nyata dengan petunjuk lokasi yang tepat, kompresi satu klik ke satu baris paling padat
  • Konversi Kode ke 13 Bahasa Pemrograman: Pembuatan satu klik untuk TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML
  • Pengeditan Visual Tampilan Pohon JSON: Lipat/luaskan simpul, lihat dan ubah struktur bersarang dalam secara intuitif
  • Tampilan Peta Pikiran: Menyajikan hubungan induk-anak objek/array melalui simpul terhubung, ideal untuk memetakan struktur kompleks
  • Pengurutan Kunci: Susun ulang kunci objek dalam urutan alfabet naik/turun, nyaman untuk perbandingan diff dan menstandarisasi urutan bidang
  • Penanganan File Besar yang Lancar: Gulir virtual + penguraian latar belakang Web Worker, file JSON beberapa MB tanpa lag
  • Privasi & Keamanan: Pemrosesan sepenuhnya lokal di browser, nol unggahan data, aman untuk menangani respons yang berisi rahasia
  • Operasi Nyaman: Unggah/unduh file, salin satu klik, batalkan riwayat, berbagi URL — semua tersedia

Cara Penggunaan

  1. Tempelkan konten JSON atau unggah file JSON
  2. Pilih mode Percantik, Kompres, atau Validasi; Anda juga dapat beralih ke Tampilan Pohon/Peta Pikiran untuk penjelajahan visual
  3. Tinjau struktur hierarkis yang diformat dan pesan kesalahan; beralih ke Konversi Kode jika diperlukan untuk menghasilkan struktur bahasa target
  4. Salin konten yang diproses, unduh file, atau buat tautan yang dapat dibagikan

Pertanyaan Umum

Bagaimana cara cepat memformat JSON satu baris menjadi struktur yang dapat dibaca?

Tempelkan konten JSON Anda ke dalam editor untuk langsung mempercantiknya. Bagus untuk melihat respons API, file konfigurasi, dan bidang log. Alat secara otomatis menambahkan indentasi dan baris baru, mengatur data padat menjadi struktur hierarkis yang jelas. Default menggunakan indentasi 2 spasi; Anda juga dapat mengubah ukuran indentasi di bilah alat.

Apa perbedaan antara Pemformat JSON dan Perbaikan JSON?

Pemformat JSON lebih cocok untuk konten yang sudah valid tetapi sulit dibaca. Perbaikan JSON lebih cocok untuk memperbaiki struktur tidak valid seperti kesalahan, tanda kutip hilang, dan koma trailing. Jika pemformatan melaporkan kesalahan, kami sarankan melakukan Perbaikan JSON terlebih dahulu. Singkatnya: pemformatan hanya menyesuaikan tata letak tanpa mengubah konten; perbaikan mencoba mengisi tanda kutip/kurung yang hilang dan menghapus koma tambahan untuk membuatnya menjadi JSON yang valid kembali.

Mengapa pemformatan JSON melaporkan kesalahan?

Biasanya karena kontennya bukan JSON yang valid — misalnya, berisi komentar, tanda kutip tunggal, koma trailing, atau kurung tidak tertutup. Spesifikasi JSON (RFC 8259) mengharuskan kunci menggunakan tanda kutip ganda, string tidak boleh menggunakan tanda kutip tunggal, tidak boleh ada koma setelah elemen terakhir, dan komentar // atau /* */ tidak diizinkan. Dalam hal ini, lebih baik melakukan Perbaikan JSON terlebih dahulu, kemudian format.

Apakah cocok untuk debugging API dan melihat respons log?

Tentu saja. Respons API, data Webhook, log analitik, dan cuplikan konfigurasi sering perlu diformat sebelum pemecahan masalah. Alat ini juga mendukung pengeditan visual tampilan pohon JSON, tampilan peta pikiran, dan konversi kode ke 13 bahasa pemrograman, membantu Anda cepat memahami struktur data.

Bisakah saya mengonversi JSON ke antarmuka TypeScript atau kelas Java?

Ya. Alat mendukung konversi JSON ke TypeScript/Java/Python/Go/Rust/Swift/Kotlin/C#/C++/PHP/MySQL/YAML/XML — total 13 format. Pembuatan satu klik struktur kode yang sesuai, sempurna untuk cepat menghasilkan model data frontend dan backend dari respons API.

Apakah data JSON yang diformat akan diunggah ke server?

Tidak. Semua pemformatan, validasi, kompresi, dan konversi kode berjalan sepenuhnya secara lokal di browser Anda. Data tidak pernah diunggah ke server mana pun. Aman bahkan saat memproses respons API yang berisi rahasia, token, atau privasi pengguna. Data dihapus saat Anda menutup halaman.

Bisakah menangani file JSON besar?

Ya. Alat menggunakan rendering gulir virtual dan penguraian latar belakang Web Worker. File JSON beberapa megabita dapat diformat dan dijelajahi dengan lancar tanpa membekukan halaman. Untuk file yang sangat besar, kami sarankan mengunggah file JSON secara langsung daripada menempel, untuk performa yang lebih stabil.

Untuk apa Kompresi JSON (Minify) digunakan?

Kompresi menghapus semua spasi dan baris baru yang tidak perlu dari JSON, menghasilkan hasil satu baris yang paling padat. Ini secara signifikan mengurangi ukuran, menghemat bandwidth dan penyimpanan, dan umumnya digunakan untuk transmisi API, penulisan konfigurasi, penyematan dalam kode, atau sebagai variabel lingkungan. JSON yang dikompresi secara semantik identik dengan JSON yang diformat; hanya saja tidak dapat dibaca manusia.

Apa itu Tampilan Pohon JSON dan Tampilan Peta Pikiran?

Tampilan Pohon merender JSON sebagai pohon hierarkis yang dapat dilipat, mendukung simpul luaskan/lipat dan pengeditan bidang visual, cocok untuk menelusuri data bersarang dalam. Tampilan Peta Pikiran menyajikan struktur sebagai simpul terhubung, secara visual menunjukkan hubungan induk-anak antara objek dan array, cocok untuk memetakan struktur data yang kompleks atau memberikan presentasi.

Bisakah saya mengurutkan berdasarkan nama kunci setelah pemformatan?

Ya. Alat menyediakan fitur pengurutan kunci yang mendukung penyusunan ulang kunci objek dalam urutan alfabet naik atau turun, memudahkan untuk membandingkan perbedaan antara dua JSON, menstandarisasi urutan bidang file konfigurasi, atau menampilkan bidang API dalam urutan tetap untuk Tinjauan Kode.

Bisakah saya membagikan hasil yang diformat dengan rekan kerja?

Ya. Alat mendukung kompresi dan pengkodean konten JSON saat ini ke dalam URL untuk menghasilkan tautan yang dapat dibagikan. Penerima dapat membuka tautan untuk melihat data yang sama tanpa mengunggah ke server, bagus untuk kolaborasi cepat dalam pemecahan masalah API atau mereproduksi skenario data.

Tentang JSON dan Pemformatan JSON

JSON (JavaScript Object Notation) adalah format pertukaran data ringan yang menggunakan pasangan kunci-nilai dan array untuk mewakili data. Karena kesederhanaan, keterbacaan, dan sifat lintas bahasanya, JSON telah menjadi standar de facto untuk API Web, file konfigurasi, log, dan transmisi data frontend-backend. JSON hanya memiliki enam tipe nilai dasar: string, angka, boolean, null, objek, dan array. Aturan sintaksisnya didefinisikan bersama oleh RFC 8259 dan ECMA-404.

Pemformatan JSON (juga disebut pempercantikan JSON) adalah proses menambahkan indentasi dan baris baru yang tepat ke JSON padat tanpa mengubah konten data, mengaturnya menjadi struktur hierarkis yang mudah dibaca manusia. JSON dalam respons API, log, dan penyimpanan sering dikompresi menjadi satu baris, membuatnya sangat sulit dibaca langsung. Setelah diformat, Anda dapat dengan jelas melihat bersarangnya objek, elemen array, dan nilai setiap bidang.

Operasi kebalikan dari pemformatan adalah kompresi JSON, yang menghapus semua karakter spasi yang tidak penting, mengubah JSON kembali ke bentuk satu baris yang paling padat untuk mengurangi ukuran transmisi. Pemformatan dan kompresi adalah sepasang operasi yang dapat dibalik; keduanya tidak mengubah semantik JSON, hanya memengaruhi keterbacaan dan ukuran.

Validasi JSON memeriksa apakah sepotong teks sesuai dengan aturan sintaksis JSON. Pola tidak valid yang umum meliputi: menggunakan tanda kutip tunggal alih-alih tanda kutip ganda, kunci tanpa tanda kutip, koma trailing setelah elemen terakhir, berisi komentar // atau /* */, dan kurung atau tanda kutip yang tidak tertutup dengan benar. Tidak ada dari ini yang merupakan JSON valid, dan pemformatan akan melaporkan kesalahan — dalam hal ini, Anda harus menggunakan alat Perbaikan JSON terlebih dahulu, kemudian format.

Membangun di atas pemformatan, alat ini juga menyediakan Tampilan Pohon, Tampilan Peta Pikiran, dan konversi kode ke 13 bahasa pemrograman: Anda dapat melipat JSON menjadi pohon hierarkis visual untuk menelusuri struktur dalam, atau satu klik mengonversi JSON respons API menjadi antarmuka TypeScript, kelas Java, kamus Python, atau pernyataan pembuatan tabel database untuk digunakan langsung dalam pengembangan. Semua pemrosesan dilakukan secara lokal di browser; data tidak pernah diunggah ke server.

Referensi Cepat Tipe Data JSON

JSON hanya memiliki enam tipe nilai. Memahaminya membantu cepat menentukan apakah data valid dan cara memetakan ke tipe bahasa pemrograman.

TipeContohDeskripsi
string"hello"String, harus menggunakan tanda kutip ganda, mendukung karakter escape dan pengkodean Unicode \uXXXX.
number25 / 3.14 / -1e5Angka, mendukung bilangan bulat, desimal, dan notasi ilmiah; diurai sebagai float presisi ganda, tidak membedakan bilangan bulat dan float.
booleantrue / falseBoolean, hanya bisa berupa true atau false huruf kecil.
nullnullNilai null, mewakili tidak ada data; harus huruf kecil, berbeda dari string kosong atau 0.
object{"k": "v"}Objek, kumpulan pasangan kunci-nilai yang dibungkus kurung kurawal; kunci harus berupa string tanda kutip ganda.
array[1, 2, 3]Array, daftar nilai berurutan yang dibungkus kurung siku; elemen bisa memiliki tipe yang berbeda.

Tabel Karakter Escape String JSON

Karakter berikut dalam string JSON harus di-escape dengan garis miring terbalik; jika tidak, penguraian akan gagal.

EscapeArti
\"Tanda kutip ganda
\\Garis miring terbalik
\/Garis miring maju (escape opsional)
\nBaris baru
\rCarriage return
\tTab
\bBackspace
\fForm feed
\uXXXXKarakter Unicode yang diwakili oleh empat digit heksadesimal

Referensi Pola Tidak Valid yang Umum

Di bawah ini adalah pola JSON tidak valid yang umum ditemui dan bentuk validnya, untuk referensi saat pemformatan melaporkan kesalahan.

Tidak ValidValidCatatan
{name: "a"}{"name": "a"}Kunci harus menggunakan tanda kutip ganda
{'name': 'a'}{"name": "a"}String harus menggunakan tanda kutip ganda, bukan tanda kutip tunggal
{"a": 1,}{"a": 1}Koma trailing tidak diizinkan
{"a": 1} // comment{"a": 1}JSON tidak mendukung komentar
{"a": undefined}{"a": null}Tidak ada undefined; gunakan null untuk nilai null
{"a": .5}{"a": 0.5}Desimal harus memiliki bagian bilangan bulat 0

Code Examples

JavaScript: Memformat JSON menggunakan JSON.stringify

javascript

Parameter ketiga dari JSON.stringify bawaan browser dan Node.js menentukan indentasi, cara terprogram yang paling umum untuk memformat JSON.

const data = { name: '张三', age: 25, tags: ['a', 'b'] };

// Beautify: third parameter is indentation spaces (can also pass '\t' for Tab)
const pretty = JSON.stringify(data, null, 2);
console.log(pretty);

// Minify: omit the third parameter to get the most compact single line
const mini = JSON.stringify(data);
console.log(mini); // {"name":"张三","age":25,"tags":["a","b"]}

// Parse string to object (validates syntax, throws SyntaxError if invalid)
const obj = JSON.parse(pretty);

Python: Memformat menggunakan modul json

python

Pustaka standar Python json menggunakan parameter indent dan ensure_ascii untuk mengontrol indentasi dan tampilan karakter Cina.

import json

data = {"name": "张三", "age": 25, "tags": ["a", "b"]}

# Beautified output, indent specifies indentation, ensure_ascii=False preserves Chinese
pretty = json.dumps(data, indent=2, ensure_ascii=False)
print(pretty)

# Minified output: use the most compact separators
mini = json.dumps(data, separators=(",", ":"), ensure_ascii=False)
print(mini)

# Parse string (throws json.JSONDecodeError if invalid)
obj = json.loads(pretty)

Baris Perintah: Memformat JSON menggunakan jq

bash

jq adalah alat baris perintah yang kuat untuk memproses JSON, memungkinkan pempercantikan, kompresi, dan ekstraksi bidang dengan cepat.

# Beautify (default 2-space indent)
cat data.json | jq '.'

# Minify to single line
cat data.json | jq -c '.'

# Extract a specific field
cat data.json | jq '.user.name'

# Directly pipe curl results for beautification
curl -s https://api.example.com/user | jq '.'

Privacy & Security

Semua pemformatan, validasi, kompresi, dan konversi kode JSON dalam alat ini berjalan sepenuhnya secara lokal di browser Anda. Data tidak pernah diunggah ke server mana pun, juga tidak direkam atau di-cache secara jarak jauh. Aman bahkan saat memproses respons API yang berisi rahasia, token, atau informasi pengguna. Data dihapus saat Anda menutup atau menyegarkan halaman.

Authoritative References

Troubleshooting

Unexpected token ... in JSON (karakter tak terduga / kesalahan sintaksis)

Kemungkinan besar disebabkan oleh tanda kutip tunggal, kunci tanpa tanda kutip ganda, atau berisi komentar // atau /* */. Spesifikasi JSON mengharuskan semua string dan kunci menggunakan tanda kutip ganda, dan komentar tidak didukung. Silakan ganti ke tanda kutip ganda dan hapus komentar, atau gunakan alat Perbaikan JSON terlebih dahulu.

Unexpected end of JSON input (konten berakhir secara tidak terduga)

Biasanya disebabkan oleh kurung {} atau [] atau tanda kutip yang tidak tertutup dengan benar, mengakibatkan JSON tidak lengkap. Periksa bahwa struktur dipasangkan dan tertutup dengan benar. Saat menempelkan respons API, Anda mungkin hanya menyalin sebagian konten — pastikan Anda menyalin sepenuhnya.

Koma trailing menyebabkan kesalahan

JSON tidak mengizinkan koma setelah elemen terakhir dari objek atau array; misalnya {"a":1,} atau [1,2,] adalah tidak valid. Hapus koma tambahan. Objek JavaScript mengizinkan koma trailing, tetapi JSON tidak — berhati-hatilah saat menyalin dari kode.

Karakter Cina atau khusus ditampilkan sebagai \uXXXX

Ini adalah notasi escape Unicode JSON, yang secara inheren valid dan masih dapat diurai secara normal setelah pemformatan. Jika Anda lebih suka menampilkan Cina secara langsung, nonaktifkan escape di sisi pembuat (misalnya, ensure_ascii=False Python, nonaktifkan escape HTML Go).

Kehilangan presisi angka besar (misalnya, ID menjadi notasi ilmiah atau nol trailing)

Angka JSON diurai sebagai float presisi ganda IEEE 754. Bilangan bulat yang melebihi 2^53 (misalnya, ID snowflake, nomor pesanan) kehilangan presisi. Solusinya adalah membungkus bilangan bulat besar sebagai string selama transmisi, yaitu, "id": "9007199254740993", untuk menghindari diurai sebagai angka.

Ingin mengubah kembali JSON yang diformat menjadi satu baris

Cukup beralih ke "Kompresi / Minify" untuk mengubah JSON multi-baris yang dipercantik kembali ke satu baris paling padat untuk transmisi API, penulisan konfigurasi, atau penyematan dalam kode. Kompresi dan pempercantikan adalah operasi kebalikan dan tidak mengubah konten data.