Miami Heat (2014-2019)Edit
După ce nu a fost recrutat în NBA draft 2014, Johnson s-a alăturat echipei Miami Heat pentru Liga de vară NBA 2014. Pe 7 august 2014, el a semnat cu Heat, dar a fost ulterior renunțat de echipă pe 25 octombrie. La 3 noiembrie, el a fost achiziționat de Sioux Falls Skyforce din NBA Development League ca jucător afiliat al lui Heat.
La 12 ianuarie 2015, Johnson a semnat un contract de 10 zile cu Heat. Trei zile mai târziu, el și-a făcut debutul în NBA împotriva lui Golden State Warriors, apărând timp de 1:44 minute și marcând două puncte cu o pereche de aruncări libere. Pe 22 ianuarie, Heat a decis să nu-l rețină pe Johnson după ce contractul său a expirat, iar două zile mai târziu, el s-a întors la Skyforce. Ulterior, el s-a reunit din nou cu Heat pe 29 ianuarie, el semnând un alt contract de 10 zile cu echipa. La 8 februarie, el a semnat un contract pe doi ani cu Heat. Pe 2 martie, a avut cel mai bun meci al sezonului, cu 26 de puncte și 4 recuperări, într-o victorie cu 115-98 în fața lui Phoenix Suns. Cinci zile mai târziu, el a marcat 24 de puncte și a jucat 44 de minute de pe bancă, un record al carierei, ajutând Heat să învingă Sacramento Kings, 114-109. El a depășit această bornă de minute jucând în toate cele 48 de minute ale victoriei de final de sezon a celor de la Heat în fața celor de la Philadelphia 76ers.
La 9 iulie 2015, Johnson a fost pus pe tușă timp de șase săptămâni din cauza unei fracturi de maxilar pe care a suferit-o în timp ce juca pentru Heat în timpul NBA Summer League 2015. Pe 9 decembrie 2015, el a marcat un record stagional de 20 de puncte într-o înfrângere cu Charlotte Hornets. Ulterior, el a ratat opt meciuri în cursul lunii decembrie din cauza unei accidentări la umăr. Johnson s-a luptat cu durerile la umărul stâng pe parcursul lunii ianuarie, înainte de a rata ultimele două meciuri ale echipei din această lună, după ce a cedat în fața durerii. După ce inițial a încercat să evite o intervenție chirurgicală, Johnson a cedat în cele din urmă la 1 februarie 2016, o procedură care l-a exclus pentru trei luni. El a revenit în activitate pe 1 mai, ieșind de pe bancă pentru ultimele șase minute ale meciului 7 câștigat de Heat în fața lui Charlotte Hornets în primul tur al playoff-ului.
După sezonul 2015-16, Johnson a devenit agent liber de contract. Pe 6 iulie 2016, el a primit o ofertă de patru ani și 50 de milioane de dolari de la Brooklyn Nets. Patru zile mai târziu, Heat a egalat oferta de contract a celor de la Nets, re-semnând cu Johnson. La 7 decembrie 2016, el a marcat 27 de puncte, recordul carierei, într-o înfrângere cu 103-95 în fața celor de la Atlanta Hawks. El a depășit această bornă la 20 decembrie, marcând 32 de puncte – cel mai mare număr de puncte marcate vreodată de o rezervă a celor de la Heat într-un meci – într-o înfrângere în dublă repriză de prelungiri cu 136-130 în fața celor de la Orlando Magic. Precedentul record de puncte marcate de Heat de către o rezervă era de 29 de puncte, de către Voshon Lenard în 1999.
La 30 decembrie 2017, Johnson a marcat 22 din cele 31 de puncte ale sale, recordul sezonului, în al treilea sfert al victoriei lui Heat cu 117-111 în fața lui Magic.
La 23 decembrie 2018, Johnson a marcat 20 din cele 25 de puncte ale sale în al treilea sfert al victoriei lui Heat cu 115-91 împotriva lui Magic.
Phoenix Suns (2019-2020)Edit
La 6 februarie 2019, Johnson a fost transferat, împreună cu Wayne Ellington, la Phoenix Suns în schimbul lui Ryan Anderson. Pe 23 februarie, el a marcat un record stagional de 29 de puncte într-o înfrângere cu 120-112 în fața lui Atlanta Hawks. Două zile mai târziu, el a marcat 18 puncte împotriva fostei sale echipe, Miami Heat, pentru a ajuta Suns să întrerupă o serie de 17 înfrângeri, record al francizei, și să câștige cu 124-121. La 4 aprilie 2019, Johnson a fost declarat indisponibil pentru restul sezonului după ce a lipsit 10 meciuri din cauza unor dureri la genunchiul drept și a fost supus unei intervenții chirurgicale artroscopice. Pe 9 februarie 2020, Johnson a fost renunțat de Phoenix Suns.
Brooklyn Nets (2020-prezent)Edit
Pe 24 iunie 2020, Johnson a semnat cu Brooklyn Nets. La 27 noiembrie, el a semnat din nou cu Nets.
.