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...
The very first moment that I had to use JSON as a configuration format, and I was desperate to find a way to make a long string into a JSON field. JSON is great for many things, but it’s not good at all for a configuration format where you need users to make it pretty, and need features like comments or multi-line strings (because you don’t want to fix a merge conflict in a 400 character-wide line).
cut out a random piece of your document. is it a partial or a complete document?
paste it somewhere else in the document. you have to fix the indentation because if not then the document won’t work or mean something completely different
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.
In my opinion, the settings file isn’t where this information should be presented. I would put these notes in the release log and readme and example settings file. I have also written this information to logging during startup so a user knows what to do, or I write a migration that does the change automatically if that’s possible.
This is only my opinion and you can use the comment method described like “//“: “Deprecated” if desired.
Agreed. Except that it’s not easier to write imo
The very first moment that I had to use JSON as a configuration format, and I was desperate to find a way to make a long string into a JSON field. JSON is great for many things, but it’s not good at all for a configuration format where you need users to make it pretty, and need features like comments or multi-line strings (because you don’t want to fix a merge conflict in a 400 character-wide line).
Where do you put your comments in JSON files?
I’ve seen them included as part of the data.
"//": "Comment goes here",
Example 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?
Every time i try to use toml, i end up going back to json
because of the cut and paste problem. It works in json.
Cut and paste problem?
cut out a random piece of your document. is it a partial or a complete document?
paste it somewhere else in the document. you have to fix the indentation because if not then the document won’t work or mean something completely different
It still works since multiple identical keys are still valid json. Although that in itself isn’t fantastic imo.
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?
In my opinion, the settings file isn’t where this information should be presented. I would put these notes in the release log and readme and example settings file. I have also written this information to logging during startup so a user knows what to do, or I write a migration that does the change automatically if that’s possible.
This is only my opinion and you can use the comment method described like
“//“: “Deprecated”
if desired.