TypeCoercions: support JSON string to Map coercion

also generics should be `Map<String,Object>`