Johnson is a native of Orangeburg, South Carolina and attended Edisto High School, where his father was the varsity basketball coach.
On January 4, 2016, Johnson scored 39 points and collected 23 rebounds in leading the Tar Heels in a victory over Florida State 106–90.
He became the second North Carolina player in its history to score at least 39 points and grab 23 rebounds in a single game, after Billy Cunningham achieved the feat twice in 1964.
[10] On February 23, 2017, he made his professional debut in a 123–113 loss to the Golden State Warriors, recording two rebounds in two minutes off the bench.
[12][13] On February 8, the Pistons traded Johnson, along with a 2022 second-round draft pick, to the Memphis Grizzlies in exchange for James Ennis.
[15] On February 19, 2019, Indios de Mayagüez of the Baloncesto Superior Nacional (BSN) announced that they had signed Johnson.
[18] On January 11, 2020, Johnson signed with Chorale Roanne Basket of the LNB Pro A, a professional basketball league in France.