While playing with the Lincoln Stars of the United States Hockey League, Johnson committed to the University of North Dakota. Johnson began his freshman season at the University of North Dakota during the 2013–14 season. He played in 42 games and led the team's rookies in goals with eight. Johnson scored his first goal as a Fighting Hawk on November 9 in a 4–2 loss to Nebraska Omaha. After recording six points in four games, Johnson was named NCHC Rookie of the Month for December. Johnson helped guide the team to the 2013 NCAA Midwest Region semifinal where they lost in the Regional final to Yale. In his sophomore year, Johnson recorded a new career high 24 points and 11 goals during his 42 game campaign. He participated in the 2015 Frozen Four and was named to the NCAA West Region All-Tournament Team. In his junior year, Johnson played in 43 games for the Fighting Hawks and matched his career high in goals. The Fighting Hawks again participated in the 2016 Frozen Four tournament but Johnson was injured in the second period of the semi-finals against Denver and was forced to miss the National Championship game against Quinnipiac. This was the only game he missed in his 127 game career with the Fighting Hawks. Nonetheless, the Fighting Hawks beat Quinnipiac 5–1, winning the National Championship. Johnson was again named to the NCAA Midwest Region All-Tournament Team and later signed a three-year entry level contract with the Chicago Blackhawks on April 29, 2016.
Professional
In his rookie season with the Rockford IceHogs, Johnson recorded 17 points in 73 games and was named the IceHog's Rookie of the Year. In his second year with the team, he had an uptake in scoring which he attributes to changing his eating habits and focusing on his nutrition. He ended his second season with 30 points in 73 points. After playing two years with the Rockford IceHogs, Johnson made the Blackhawks 2018–19opening night roster. He subsequently made his NHL debut on October 4, against the Ottawa Senators. Johnson was reassigned to the AHL on October 18 after playing in three games. With the IceHogs, Johnson increased his scoring rate, improving his points totals with 18 goals and 31 points in 53 games. At the conclusion of the season, Johnson finishing his first season in the NHL registering 1 assist in 15 games. As an impending restricted free agent, Johnson was not tendered a qualifying offer by the Blackhawks, releasing him as a free agent on June 25, 2019. On the opening day of free agency, Johnson agreed to a two-year, two-way contract with the Minnesota Wild on July 1, 2019.
Personal life
Johnson comes from a hockey playing family; both his father, uncle, and cousin played collegiate hockey for the University of North Dakota. Johnson's father Steve played for the University of North Dakota from 1984 to 1988 where he was named a Hobey Baker Award finalist. His cousin Paul LaDue currently plays for the Los Angeles Kings organization in the National Hockey League and his younger brother was drafted by the Lincoln Stars in the 2016 USHL draft.