Every project I have been on has had specialized data that is used during runtime or a separate configuration time all together. I have seen all sorts of formats used, custom text files, csv, XML, JSON, you name it.
It’s always the same story, initially there is just a handful of values and then the kitchen sink gets thrown in and there is a bunch of code surrounding just the dataset being used to handle input, output, wrapping, unwrapping, all the data types, custom data types, encryption, decryption, etc. Each time the same boilerplate code gets written and the same features along with the same bugs get written.
Frameworks and languages are a lot better at handling this configuration code, but the problem remains the same, a domain specific dataset that needs to be used in all kinds of different software.
Anyway, long story short, we solved the problem on one of those platforms (Unity 3d) with one of those languages (C#) so now when building your game in Unity, you can use the Game Data Editor to construct your custom dataset to be used during runtime.
Take a look at the Docs and Screencast YouTube Video Tutorials. Enjoy!