- Arrays allow trailing commas!
- Comments! (From a JSON perspective, that's huge!)
- Dates are UTC!
- Simple syntax, no semicolon / commas, no need to check for matching braces!
- No way to go back to the global hash. Once you go down one level, can't go back up!
inGlobal = true
[keygroup]
inKeyGroup = true
# Here, you can't add a key to the global hash!
-
You can't have mixed data in arrays unless they're both one level deep!
So, it feels like arrays are typed, except that empty arrays are not.
key = [ [1], ["foo"], [] ]
- You can't have hashes inside arrays!
# That really should be an array.
[dependancy1]
groupId = "com.google.api-client"
artifactId = "google-api-client"
version = "1.13.2-beta"
[dependancy2]
groupId = "com.google.api-client"
artifactId = "google-api-client-servlet"
version = "1.13.1-beta"
- The specification is lacking!
- A document in UTF-16 / Windows 1252 must change encoding to UTF-8 in each string!
- What happens when the keygroup is the empty string?
- Lots of (informally-specified) things you can't encode: keys with
=
in them, keygroups with]
in them… (The current spec allows=
in keys by not forbidding it.) Which special characters are allowed in keys anyway?
Alternative: the Settings File Format.
Yes. What I meant is "Until the patch gets merged…"
That's the trick, isn't it?
My format is a subset of YAML, so there already are parsers everywhere!
(Of course, having dotset-specific parsers is nicer and safer!)