Miami Heat (2014-2019)Edit
Después de no ser reclutado en el draft de la NBA de 2014, Johnson se unió a los Miami Heat para la Liga de Verano de la NBA de 2014. El 7 de agosto de 2014, firmó con los Heat, pero luego fue renunciado por el equipo el 25 de octubre. El 3 de noviembre, fue adquirido por los Sioux Falls Skyforce de la Liga de Desarrollo de la NBA como jugador afiliado de los Heat.
El 12 de enero de 2015, Johnson firmó un contrato de 10 días con los Heat. Tres días después, debutó en la NBA contra los Golden State Warriors, apareciendo durante 1:44 minutos y anotando dos puntos con un par de tiros libres. El 22 de enero, los Heat decidieron no retener a Johnson tras la finalización de su contrato y, dos días después, regresó a los Skyforce. Más tarde, el 29 de enero, volvió a unirse a los Heat al firmar otro contrato de 10 días con el equipo. El 8 de febrero, firmó un contrato de dos años con los Heat. El 2 de marzo, tuvo su mejor partido de la temporada con 26 puntos y 4 robos en una victoria por 115-98 sobre los Phoenix Suns. Cinco días después, anotó 24 puntos y jugó 44 minutos, la cifra más alta de su carrera, desde el banquillo, para ayudar a los Heat a derrotar a los Sacramento Kings por 114-109. Superó esa marca de minutos al jugar los 48 minutos de la victoria de los Heat en el final de la temporada contra los Philadelphia 76ers.
El 9 de julio de 2015, Johnson estuvo fuera de juego durante seis semanas por una fractura de mandíbula que sufrió mientras jugaba para los Heat durante la Liga de Verano de la NBA 2015. El 9 de diciembre de 2015, anotó un máximo de temporada de 20 puntos en una derrota ante los Charlotte Hornets. Más tarde se perdió ocho partidos durante diciembre con una lesión en el hombro. Johnson luchó contra su dolor en el hombro izquierdo durante el mes de enero antes de perderse los dos últimos partidos del equipo del mes tras sucumbir al dolor. Después de tratar inicialmente de evitar la cirugía, Johnson finalmente cedió a la idea el 1 de febrero de 2016, un procedimiento que lo descartó durante tres meses. Volvió a la acción el 1 de mayo, saliendo del banquillo para los últimos seis minutos del séptimo partido que los Heat ganaron a los Charlotte Hornets en la primera ronda de los playoffs.
Después de la temporada 2015-16, Johnson se convirtió en agente libre restringido. El 6 de julio de 2016, recibió una oferta de cuatro años y 50 millones de dólares de los Brooklyn Nets. Cuatro días después, los Heat igualaron la oferta de contrato de los Nets, volviendo a firmar a Johnson. El 7 de diciembre de 2016, anotó 27 puntos, la cifra más alta de su carrera, en una derrota por 103-95 ante los Atlanta Hawks. Superó esa marca el 20 de diciembre, anotando 32 puntos -la mayor cantidad que cualquier reserva de los Heat ha anotado en un partido- en una derrota por 136-130 en doble tiempo extra ante los Orlando Magic. El anterior récord de anotación de los Heat por parte de un reserva era de 29 puntos, obra de Voshon Lenard en 1999.
El 30 de diciembre de 2017, Johnson anotó 22 de sus 31 puntos, el máximo de la temporada, en el tercer cuarto de la victoria de los Heat por 117-111 sobre los Magic.
El 23 de diciembre de 2018, Johnson anotó 20 de sus 25 puntos en el tercer cuarto de la victoria de los Heat por 115-91 sobre los Magic.
Phoenix Suns (2019-2020)Edit
El 6 de febrero de 2019, Johnson fue traspasado, junto con Wayne Ellington, a los Phoenix Suns a cambio de Ryan Anderson. El 23 de febrero, anotó un máximo de temporada de 29 puntos en una derrota por 120-112 ante los Atlanta Hawks. Dos días después, anotó 18 puntos contra su antiguo equipo, los Miami Heat, para ayudar a los Suns a romper una racha de 17 partidos perdidos, récord de la franquicia, para ganar 124-121. El 4 de abril de 2019, Johnson fue descartado para el resto de la temporada después de perderse 10 partidos con dolores en la rodilla derecha y someterse a una cirugía artroscópica. El 9 de febrero de 2020, Johnson fue renunciado por los Phoenix Suns.
Brooklyn Nets (2020-presente)Edit
El 24 de junio de 2020, Johnson firmó con los Brooklyn Nets. El 27 de noviembre, volvió a firmar con los Nets.