Originally, Johnson was chosen by the Montreal Expos with the 10th overall pick of the 1989 amateur draft. Johnson did not sign, electing instead to complete college with the University of Miami. In 1992, Johnson was selected by Florida in the first round (28th overall).
Johnson spent most of the next two seasons in the minors, honing his skills behind the plate and at bat. He made his first appearance with the club in May of 1994, going five for his first 11 at bats with one home run (off of Curt Schilling) in four games.
In 1995, Johnson finished seventh in the NL Rookie of the Year voting, winning his first Gold Glove at the catcher position and hitting 11 home runs and 39 RBI. Not a great hitter, Johnson compensated for his .251 average by being patient, walking 46 times in 315 at bats for a .351 OBP.
In 1996, Johnson won his second Gold Glove, hitting .218 with 13 home runs and 37 RBI.
In the Marlins first World Series Championship season of 1997, Johnson won his third Gold Glove and his first All-Star team while hitting .250 with 19 home runs and 63 RBI and a .347 OBP. Johnson hit .222 with two home runs and 10 RBI in 16 postseason contests for Florida that season.
It looked like Johnson had escaped the great exodus of the 1997 post-postseason, but In the midst of Johnson's fourth consecutive Gold Glove season while with Florida was traded along with Manuel Barrios, Bobby Bonilla, Jim Eisenreich and Gary Sheffield to the Los Angeles Dodgers for Mike Piazza and Todd Zeile.
Johnson would later play with the Baltimore Orioles and the Chicago White Sox before rejoining the Marlins for two seasons, starting in 2001.
In 2001, Johnson recieved his second invitation to the All-Star game. He posted a .259 batting average and 18 home runs with 75 RBI.
Johnson later played with the Colorado Rockies and the Tampa Bay Rays. In 587 games for Florida over seven seasons, Johnson hit .241 with 75 home runs and 277 RBI.