I read here http://www.cowtowncoder.com/blog/archives/2013/10/entry_482.html that @JsonFormat(shape=Shape.OBJECT) must work for both collection and map types but my tests shows it doesn't work for a class that implements Map Interface.
some digging in code approved my initial guess as there's no checking for JsonFormat in BasicSerializerFactory.buildMapSerializer unlike buildCollectionSerializer method.
now I am not sure that blog is official or not, but is there any technical reason to not implement this feature for Map or it's just forgotten?!