What is this TOML?Visualizer:https://toml-to-json.orchard.blog/Code:https://github.com/orcharddweller/toml-to-jsonTOML spec:https://toml.io/en/v1.0.0#TOML #t...
Every time I have reached for TOML I have ended up using JSON. The first reason is that Python standard library can read but not write TOML, which is generally useless for me. The second reason is TOML does not add any benefit over JSON. It’s not that much easier to read and IMO JSON is easier to write by hand because the syntax rules are completely obvious.
For settings files I always have an example file with sensible values filled in and along with descriptive keys that serves as reasonable documentation. If something is truly unknowable, I’ve probably done something wrong.
Every time I have reached for TOML I have ended up using JSON. The first reason is that Python standard library can read but not write TOML, which is generally useless for me. The second reason is TOML does not add any benefit over JSON. It’s not that much easier to read and IMO JSON is easier to write by hand because the syntax rules are completely obvious.
TOML is mainly for humans to write, certainly not a good choice if you’re programmatically writing files - comments and formatting would be lost.
Agreed. Except that it’s not easier to write imo
Where do you put your comments in JSON files?
I’ve seen them included as part of the data.
"//": "Comment goes here",
That doesn’t really work when you need two comments at the same level, since they’d both have the same key
write json with comments. Use a yaml parser.
If you’re reaching for yaml, why not use toml?
because of the cut and paste problem. It works in json.
For settings files I always have an example file with sensible values filled in and along with descriptive keys that serves as reasonable documentation. If something is truly unknowable, I’ve probably done something wrong.
How would you mark a flag in your json settings file as deprecated?
It all depends on the library you use. Rust has you covered with toml_edit. It is what is used for all the cargo commands editing the Cargo.toml file.