Recently, I needed to implement a minimal web server in C#. The .NET HTTP classes worked great, but there’s nothing built in to provide MIME types (other than looking in the registry, which I don’t trust to be complete/consistent). So I extracted the data from the Debian /etc/mime.types file for anything with a file extension and created a simple static class to do lookups for them.

After stumbling across this post looking for a native C# implementation of what you have posted, I regretfully have no choice but to deploy the powder hand in response to your egregious omission of any and all JSON mime types.