Запускается ли фильтр до или после метода действия?
Если он запускается раньше, вы не можете знать, какой конкретный тип будет возвращен, потому что все действия возвращают ActionResult (если вы специально не возвращаете JsonResult - это другая история).
Если он запускается после метода действия, то в коде фильтра проверьте, является ли результат JsonResult, например:
public override void OnResultExecuting(ResultExecutingContext filterContext)
{
if (!(filterContext.Result is JsonResult))
{
// do whatever you want...
}
base.OnResultExecuting(filterContext);
}