Lewati ke konten
🛠️ToolsShed

Konverter TOML ↔ JSON

Konversi antara format TOML dan JSON serta validasi sintaks TOML.

Tentang alat ini

TOML (Tom's Obvious, Minimal Language) dan JSON adalah dua format konfigurasi dan data populer yang banyak digunakan dalam pengembangan perangkat lunak. TOML adalah format yang ramah manusia yang sering ditemukan dalam proyek Rust, alat Python, dan konfigurasi aplikasi modern, sementara JSON adalah standar universal untuk pertukaran data dalam API web dan aplikasi web. Mengonversi antara format-format ini sangat penting ketika melakukan migrasi proyek, berbagi konfigurasi antar sistem yang berbeda, atau bekerja dengan alat yang memerlukan format tertentu.

Untuk menggunakan konverter ini, cukup tempel konten TOML atau JSON Anda ke area masukan, dan alat akan secara otomatis mendeteksi format dan mengonversinya ke format lainnya. Ini juga memvalidasi masukan Anda untuk kesalahan sintaks, melaporkan masalah apa pun sebelum konversi. Gunakan alat ini saat mengintegrasikan perpustakaan pihak ketiga, mengelola konfigurasi lingkungan, membakukan data untuk API, atau memastikan file konfigurasi Anda secara sintaktis benar.

Konverter menangani struktur bertingkat, larik, tabel inline, dan semua jenis data TOML dan JSON termasuk tanggal dan angka titik mengambang. Perlu diperhatikan bahwa komentar TOML tidak dipertahankan selama konversi—jika mempertahankan komentar sangat penting, pertimbangkan kontrol versi atau dokumentasi terpisah. Alat ini ideal untuk pengembang, insinyur DevOps, dan siapa pun yang bekerja dengan berbagai format konfigurasi.

Pertanyaan yang Sering Diajukan

Implementasi Kode

# Python 3.11+ has tomllib built-in (read-only)
# For older versions: pip install tomli
# For writing: pip install tomli-w

import tomllib  # Python 3.11+
# import tomli as tomllib  # Python < 3.11

toml_text = """
[package]
name = "my-app"
version = "1.0.0"
authors = ["Alice <alice@example.com>"]

[dependencies]
requests = ">=2.28.0"
flask = { version = ">=3.0", optional = true }

[[server]]
host = "web1.example.com"
port = 8080

[[server]]
host = "web2.example.com"
port = 8081
"""

# Parse TOML string
data = tomllib.loads(toml_text)
print(data["package"]["name"])      # my-app
print(data["dependencies"])          # {'requests': '>=2.28.0', ...}
print(data["server"])                # [{'host': 'web1...', 'port': 8080}, ...]

# Parse from file
with open("pyproject.toml", "rb") as f:  # Must open in binary mode!
    config = tomllib.load(f)

# Writing TOML (requires tomli-w or tomllib doesn't support write)
# pip install tomli-w
import tomli_w
output = tomli_w.dumps({"key": "value", "count": 42})
print(output)
# key = "value"
# count = 42

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.