alltools.one
JSON
2025-06-17
6 min
alltools.one Team
JSONEditorProductivityDeveloper ToolsTips

Tips JSON Editor: Bekerja Lebih Cepat dengan Dokumen Besar

Bekerja dengan JSON sudah tak terhindarkan dalam pengembangan modern. Respons API, file konfigurasi, ekspor database — JSON ada di mana-mana. Ketika file mencapai ribuan baris, alat dan teknik pengeditan yang efisien membuat perbedaan antara menit dan jam kerja.

Pemformatan dan Keterbacaan

Pemformatan Otomatis

Langkah pertama dengan dokumen JSON besar apa pun adalah pemformatan. JSON yang diminifikasi tidak dapat dibaca:

{"users":[{"id":1,"name":"Alice","roles":["admin","editor"]},{"id":2,"name":"Bob","roles":["viewer"]}]}

Setelah diformat:

{
  "users": [
    {
      "id": 1,
      "name": "Alice",
      "roles": ["admin", "editor"]
    },
    {
      "id": 2,
      "name": "Bob",
      "roles": ["viewer"]
    }
  ]
}

Format JSON secara instan dengan JSON Formatter kami — tempel, format, salin.

Pemformatan via Command-Line

# jq - standar utama
cat data.json | jq .

# Python (bawaan)
python3 -m json.tool data.json

# Node.js
node -e "process.stdout.write(JSON.stringify(JSON.parse(require('fs').readFileSync('/dev/stdin','utf8')),null,2))" < data.json

Teknik Navigasi

Tampilan Pohon vs Tampilan Teks

Untuk dokumen lebih dari 1000 baris, tampilan pohon lebih praktis daripada pengeditan teks:

  • Ciutkan/perluas node untuk fokus pada bagian yang relevan
  • Navigasi breadcrumb menunjukkan posisi Anda dalam hierarki
  • Cari dalam subtree untuk memfilter noise

JSONPath untuk Akses Tepat Sasaran

Daripada menggulir ribuan baris, gunakan JSONPath untuk langsung menuju data yang Anda butuhkan:

# Ambil email pengguna ketiga
cat users.json | jq '.[2].email'

# Ambil semua pengguna admin
cat users.json | jq '.[] | select(.role == "admin")'

Pelajari lebih lanjut di panduan query JSONPath kami.

Validasi

Menangkap Error Sintaks

Error sintaks JSON yang umum:

  • Koma di akhir: {"a": 1, "b": 2,} — tidak diizinkan
  • Tanda kutip tunggal: {'key': 'value'} — harus menggunakan tanda kutip ganda
  • Key tanpa tanda kutip: {key: "value"} — key harus diberi tanda kutip
  • Komentar: // ini merusak — JSON tidak memiliki sintaks komentar

Sebagian besar editor menyoroti error ini secara real-time. Untuk validasi cepat, JSON Validator kami menunjukkan lokasi tepat error.

Validasi Skema

Selain sintaks, validasi bahwa JSON Anda sesuai dengan struktur yang diharapkan:

# Menggunakan ajv-cli
npx ajv validate -s schema.json -d data.json

Lihat panduan validasi JSON Schema kami untuk pembahasan lengkap.

Teknik Manipulasi

Mengurutkan Key

Pengurutan key yang konsisten membuat diff lebih bersih:

jq -S . data.json > sorted.json

Mengekstrak Subset

Ambil hanya field yang Anda butuhkan:

# Ekstrak field tertentu dari setiap objek
jq '[.[] | {name, email}]' users.json

# Filter berdasarkan kondisi
jq '[.[] | select(.age > 30)]' users.json

Menggabungkan File JSON

# Gabungkan dua objek
jq -s '.[0] * .[1]' base.json override.json

# Gabungkan array
jq -s '.[0] + .[1]' list1.json list2.json

Mentransformasi Struktur

# Buat lookup map dari array
jq 'INDEX(.[]; .id)' users.json
# Hasil: {"1": {"id": 1, "name": "Alice"}, "2": {"id": 2, "name": "Bob"}}

# Ratakan struktur bersarang
jq '[.departments[].employees[]]' org.json

Bekerja dengan File Besar

Parsing Streaming

Untuk file multi-gigabyte, streaming menghindari pemuatan semuanya ke memori:

# mode streaming jq
jq --stream 'select(.[0][-1] == "email") | .[1]' large.json

# Streaming Python
import ijson
for item in ijson.items(open('large.json'), 'item'):
    process(item)

Pecah dan Proses

# Pecah array besar menjadi file individual
jq -c '.[]' large_array.json | split -l 1000 - chunk_

# Proses chunk secara paralel
ls chunk_* | parallel jq '.name' {}

Tips Khusus Editor

VS Code

  • Format: Shift+Alt+F (atau Cmd+Shift+P → "Format Document")
  • Lipat: Klik panah di gutter untuk menciutkan bagian
  • JSON Schema: Tambahkan "$schema" untuk mendapatkan auto-completion
  • Pengaturan: "editor.formatOnSave": true untuk file JSON

JetBrains IDE

  • Tampilan struktur: Alt+7 menampilkan pohon JSON
  • Navigasi: Ctrl+Click pada $ref untuk mengikuti referensi
  • Format: Ctrl+Alt+L untuk memformat ulang

FAQ

Apa cara terbaik untuk mengedit JSON di terminal?

Untuk pengeditan cepat, jq tak tertandingi — dapat melakukan query, filter, dan transformasi JSON dalam satu perintah. Untuk pengeditan interaktif, fx (paket npm) menyediakan penjelajah JSON berbasis terminal dengan penyorotan sintaks dan lipatan. Untuk pemformatan sederhana, python3 -m json.tool berfungsi tanpa dependensi tambahan.

Bagaimana cara menangani JSON dengan komentar (JSONC)?

JSON dengan komentar (digunakan dalam pengaturan VS Code, konfigurasi TypeScript) bukan JSON yang valid. Alat seperti strip-json-comments dapat menghapus komentar sebelum parsing. Di VS Code, atur asosiasi file ke "JSON with Comments" untuk penyorotan sintaks yang tepat.

Sumber Terkait

Published on 2025-06-17
JSON Editor Tips: Work Faster with Large Documents | alltools.one