JSON and XML are both horrible in their own ways, especially for use as configuration languages.
Basically there is no universal structural language that's ergonomic and nice for all uses, so it makes sense that the Unix hackers of yore preferred to create tiny custom languages for everything. It's also because "worse is better".