TOML ↔ JSON 转换器
在TOML和JSON格式之间相互转换并验证TOML语法。
关于此工具
TOML(Tom's Obvious, Minimal Language)和JSON是软件开发中广泛使用的两种配置和数据格式。TOML是一种人性化的格式,常见于Rust项目、Python工具和现代应用配置中,而JSON是Web API和Web应用中数据交换的通用标准。在迁移项目、跨不同系统共享配置或与需要特定格式的工具协作时,在这两种格式之间进行转换是必不可少的。
使用此转换器,只需将TOML或JSON内容粘贴到输入区域,工具会自动检测格式并将其转换为另一种格式。它还会验证输入的语法,并在转换前报告任何错误。在集成第三方库、管理环境配置、为API标准化数据或确保配置文件语法正确时,使用此工具。
此转换器处理嵌套结构、数组、内联表以及所有TOML和JSON数据类型,包括日期和浮点数。需要注意的是,转换过程中TOML注释不会被保留——如果保留注释至关重要,请考虑使用版本控制或单独的文档。此工具非常适合开发人员、DevOps工程师和处理多种配置格式的任何人使用。
常见问题
代码实现
# 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 = 42Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.