Miami Heat (2014-2019)Edit
Après avoir été non repêché lors de la draft NBA 2014, Johnson a rejoint le Miami Heat pour la NBA Summer League 2014. Le 7 août 2014, il a signé avec le Heat, mais a ensuite été renoncé par l’équipe le 25 octobre. Le 3 novembre, il a été acquis par les Skyforce de Sioux Falls de la NBA Development League en tant que joueur affilié du Heat.
Le 12 janvier 2015, Johnson a signé un contrat de 10 jours avec le Heat. Trois jours plus tard, il fait ses débuts en NBA contre les Golden State Warriors, apparaissant pendant 1:44 minutes et marquant deux points sur une paire de lancers francs. Le 22 janvier, le Heat a décidé de ne pas retenir Johnson après l’expiration de son contrat et deux jours plus tard, il est retourné chez les Skyforce. Il a ensuite rejoint le Heat le 29 janvier en signant un autre contrat de 10 jours avec l’équipe. Le 8 février, il a signé un contrat de deux ans avec le Heat. Le 2 mars, il a réalisé son meilleur match de la saison avec 26 points et 4 interceptions lors d’une victoire 115-98 sur les Phoenix Suns. Cinq jours plus tard, il a marqué 24 points et joué 44 minutes, un record en carrière, en sortie de banc, pour aider le Heat à battre les Sacramento Kings, 114-109. Il a dépassé cette marque de minutes en jouant toutes les 48 minutes de la victoire finale de la saison du Heat contre les 76ers de Philadelphie.
Le 9 juillet 2015, Johnson a été mis sur la touche pendant six semaines en raison d’une fracture de la mâchoire qu’il a subie en jouant pour le Heat pendant la NBA Summer League 2015. Le 9 décembre 2015, il a marqué un record de saison de 20 points lors d’une défaite contre les Hornets de Charlotte. Il a ensuite manqué huit matchs au cours du mois de décembre en raison d’une blessure à l’épaule. Johnson a lutté contre sa douleur à l’épaule gauche pendant le mois de janvier avant de manquer les deux derniers matchs de l’équipe du mois après avoir succombé à la douleur. Après avoir initialement essayé d’éviter la chirurgie, Johnson a finalement cédé à l’idée le 1er février 2016, une procédure qui l’a écarté pendant trois mois. Il est revenu à l’action le 1er mai, sortant du banc pour les six dernières minutes du match 7 du Heat contre les Hornets de Charlotte au premier tour des séries éliminatoires.
Après la saison 2015-16, Johnson est devenu un agent libre restreint. Le 6 juillet 2016, il a reçu une feuille d’offre de quatre ans et 50 millions de dollars des Nets de Brooklyn. Quatre jours plus tard, le Heat a égalé l’offre de contrat des Nets, re-signant Johnson. Le 7 décembre 2016, il a marqué 27 points, un record en carrière, lors d’une défaite de 103-95 contre les Hawks d’Atlanta. Il a dépassé cette marque le 20 décembre, en marquant 32 points – le plus grand nombre de points jamais marqués par un réserviste du Heat dans un match – dans une défaite 136-130 en double prolongation contre le Magic d’Orlando. Le précédent record de points du Heat par un réserviste était de 29 points, par Voshon Lenard en 1999.
Le 30 décembre 2017, Johnson a marqué 22 de ses 31 points, son record de la saison, dans le troisième quart-temps de la victoire 117-111 du Heat sur le Magic.
Le 23 décembre 2018, Johnson a marqué 20 de ses 25 points dans le troisième quart-temps de la victoire 115-91 du Heat sur le Magic.
Phoenix Suns (2019-2020)Edit
Le 6 février 2019, Johnson a été échangé, avec Wayne Ellington, aux Phoenix Suns en échange de Ryan Anderson. Le 23 février, il a marqué un record de saison de 29 points lors d’une défaite 120-112 contre les Hawks d’Atlanta. Deux jours plus tard, il a marqué 18 points contre son ancienne équipe, le Heat de Miami, pour aider les Suns à briser une série de 17 défaites, un record de franchise, pour s’imposer 124-121. Le 4 avril 2019, Johnson est exclu pour le reste de la saison après avoir manqué 10 matchs en raison d’une douleur au genou droit et avoir subi une chirurgie arthroscopique. Le 9 février 2020, Johnson a été renoncé par les Phoenix Suns.
Brooklyn Nets (2020-présent)Edit
Le 24 juin 2020, Johnson a signé avec les Brooklyn Nets. Le 27 novembre, il a re-signé avec les Nets.
Il n’y a pas eu de changement.