JSON serialization and deserialization support : It is available for sObject, Apex primitive and collection types, return types of Database methods and instances of your Apex classes.
Map object is serializable into JSON only if it uses these data types as a key : Boolean, Date, DateTime, Decimal, Double, Enum, Id, Integer, Long, String, Time.