I have a singleton class that basically interface all my HTTP requests. So it pretty much looks like this:
Server <--> Singleton <---> view controllers --> views
Is it bad? Why do people tell me that singleton breaks modularity? I think it's a good way to implement http requests, since I need to do some stuff with the JSON response, and I don't want my view controllers to handle those.
Yes, this is a good idea. In fact, your singleton is simply a controller which talks to other controllers. This is not bad MVC.
Also, this is handier if you have multiple output formats (JSON, XML, HTML, etc). You can let the Singleton handle this. Plus it's DRYer.