These days, the development of smart cities, specifically in location-aware, latency-sensitive, and security-crucial applications (such as emergency fire events, patient health monitoring, or real-time manufacturing) heavily depends on a more advance computing paradigms that can address these requirements. In this regard, fog computing, a robust cloud computing complement, plays a preponderant role by virtue of locating closer to the end-devices. Nonetheless, utilized approaches in smart cities are frequently cloud-based, which causes not only the security and time-sensitive services to suffer but also its flexibility and reliability to be restricted. So as to obviate the limitations of cloud and other related computing paradigms such as edge computing, this paper proposes a systematic literature review (SLR) for the state-of-the-art fog-based approaches in smart cities. Furthermore, according to the content of the reviewed researches, a taxonomy is proposed, falls into three classes, including service-based, resource-based, and application-based. This SLR also investigates the evaluation factors, used tools, evaluation methods, merits, and demerits of each class. Types of proposed algorithms in each class are mentioned as well. Above all else, by taking various perspectives into account, comprehensive and distinctive open issues and challenges are provided via classifying future trends and issues into practical sub-classes.