The agreement was first reported by Turner Sports.
Johnson, 34, gives the up-and-coming Jazz a proven scorer and level-headed veteran as they try to climb the ladder in the Western Conference.
A 15-year veteran and seven-time All-Star, Johnson entered free agency regarded as one of the top veteran perimeter players available. He averaged 12.2 points per game and shot 38 percent from 3-point range while playing with the Brooklyn Nets and Miami Heat last season.
Johnson joined the Heat in March after he received a buyout from the Nets in the final season of a six-year, $126 million contract he initially signed with Atlanta during the 2010 offseason. Johnson chose the Heat last spring over multiple suitors, including Cleveland, Atlanta and Oklahoma City, and was expected to draw interest from several teams entering free agency.
Although no longer the prolific scorer he was for much of his career, Johnson still scored in double figures in 11 of 14 playoff games as the Heat's starting small forward. He said last spring that he hoped to play another two or three seasons before contemplating retirement.
Information from ESPN's Michael Wallace and The Associated Press was used in this report.