In my project I register many ISerializers
implementations with the assembly scanner. FWIW this is the code that registers my ISerializers
Since your code assumes it is getting a JsonSerializer, create a new IJsonSerializer interface that only the JsonSerializer implements. Any class that needs the JsonSerializer should accept an IJsonSerializer. If you still need the ISerializer interface to be common across all serializers, the IJsonSerializer can be used just as a marker interface.
Alternatively, you can tie the specific ISerializer implementation to your class when you register your class in StructureMap.
x.For().Use(c => new MySomeClass(c.GetInstance()));