As a junior in high school, Johnson was a 6-foot-2 point guard before having a growth spurt. He graduated from Our Lady of the Sacred Heart. As a senior at OLSH, Johnson averaged 27.8 points, eight rebounds and five assists per game. He finished his career with 1,175 points. He signed with Pittsburgh in April 2014.
College career
Pittsburgh
Johnson suffered a knee injury shortly into his first year at Pittsburgh and was allowed to redshirt during that season in order to undergo rehabilitation for his injury. He was used as a substitute during his redshirt freshman year. As a redshirt sophomore at Pitt, Johnson averaged 11.9 points per game and hit 41.5% of his three-point attempts. Johnson graduated from Pittsburgh with a degree in communications in three years. He took advantage of the graduate transfer rule and moved to North Carolina without sitting out a year. The University of Pittsburgh initially refused to allow his release to their in-conference rival Tar Heels but eventually relented. He cited uncertainty in coaching and a losing record as factors in his decision to transfer.
North Carolina
On November 15, 2017, five days after his team’s season opener, Johnson had surgery to fix a torn meniscus. Johnson ended up sitting out ten games. Although hindered by the injury, Johnson finished third on the team in scoring with 12.4 points per game as well as grabbing 4.7 rebounds per game in his redshirt junior season. Johnson scored a career-high 32 points against Clemson. After the season, Johnson underwent an arthroscopic hip procedure and announced his intention to return to North Carolina for his senior season. Johnson's senior season proved to be his most statistically successful campaign. Unhindered by injury, Johnson was the leading scorer for the Tar Heels with 16.9 points per game and averaged 5.8 rebounds and 2.4 assists. Johnson shot 50.6 percent from the field and 45.7 percent from three, leading some commentators to call Johnson "the best shooter in draft." Johnson had several notable performances during his senior season. Playing against Wake Forest in Winston-Salem, Johnson shot 79% from the field for the game and made his first six three-point attempts, ultimately finishing with 27 points in a 95–57 rout of the Demon Deacons. Against Duke in Cameron Indoor Stadium, Johnson finished with 26 points in a 88–72 victory against the Blue Devils, then the nation's top-ranked team. Against Clemson in Littlejohn Coliseum, Johnson made six three-pointers to finish with 19 points in a two-point victory. After the conclusion of conference play, Johnson was named to the All-ACC first team.
Professional career
Phoenix Suns (2019–present)
On June 20, 2019, the Minnesota Timberwolves drafted Johnson with the eleventh overall pick in the 2019 NBA draft, then immediately traded him and Dario Šarić to the Phoenix Suns for Jarrett Culver, the sixth pick of the draft. The trade was officially completed on July 6. On July 6, 2019, the Phoenix Suns announced that they had signed Johnson. On October 26, 2019, Johnson made his NBA debut coming off the bench in a 130–122 win over the Los Angeles Clippers. On November 19, he scored a season-high 18 points in a 120–116 loss to the Sacramento Kings. Johnson then matched his season-high on December 5 in a 139–132 overtime win over the New Orleans Pelicans. He made his first professional start with the team on February 10, 2020 against the Los Angeles Lakers. On March 3, 2020, Johnson scored a new season-high of 21 points on his 24th birthday in a 123–114 loss to the defending champion Toronto Raptors. After originally being out for the rest of March due to infectious mononucleosis, Johnson returned to action as a starter on July 31, scoring 12 points in a 125–112 win over the Washington Wizards.