Completely agree - separate JSON.  It may even be possible to produce a fancy node/js filter that would produce the index file for us.  So, we have a set of self-contained mission files, then the index is collated in the build process.