I found an interesting project by some metaprogramming enjoyers called Metadesk. https://dion.systems/metadesk_reference.html
Doesn't seem hugely different from the usual XML/JSON in terms of functionality of the format. Although the parser is presented in a kind of bare bones way. You're intended to decide when you actually want numbers to be parsed as numbers (it will recognize they match a number format but just set a flag there for you to read.)
It looks something like this:
@tag
@tag(with-parameters)
thing: {
stuff-inside
can-separate,
or-use-semis;
}
Seemed interesting since it supports comments (unlike JSON) and writing a whole parser was about 500 SLOC (not sure about XML.)
i have a working but immature version up https://git.sr.ht/~icedquinn/icedmetadesk and have been playing with it for some code generation.