Juega como extremo y su equipo actual es la Asociación Deportiva Tarma de la Primera División del Perú.
A una edad temprana, ya había jugado más de 80 partidos como profesional.
En 2007, se trasladó al Técnico Universitario en la Serie B de Ecuador, donde comenzó su carrera real.
El 5 de junio, en el draft apertura 2013, Joao Rojas fue transferido al Cruz Azul, y se le dio la camisa número 11.
El 26 de julio, Joao anotó su primer gol para Cruz Azul, perdiendo 3-2 ante Santos Laguna.
Para el 2018 es fichado a préstamo por el São Paulo Futebol Clube de Brasil.