I've been using several serializers from .Net 4.x for a while and think I inherited them from .Net 3.5 times. I just realized that most of these serializers back then were not able to serialize and deserialize any C# Dictionary in general.
In the code I am refactoring right now, I see workarounds like streaming out a List<T> instead of a Dictionary<string, T> (which I consider a work around and want o avoid and a rather use the built-in capabilities of a serializer).
What's the status on your favorite JSON serializer?
Also: do you know if your serializer is JSON API compliant? (JSONAPI.org)
http://www.newtonsoft.com/json is the one I've used the most. One of the faster and very flexible. It is the default serializer used by asp.net MVC/WebAPI
https://github.com/kevin-montrose/Jil is used by StackOverflow and is very fast.
Jsonapi is a higher level concern. It does not change how json is de/serialized. It is just a pattern, a convention, a standard, a schema, for the shape/format to return your data in. It does not have much bearing on which serializer to choose.