The announcement finalizes a long-rumored deal that had been in the works and was the source of controversy with Atlanta's ownership group.
The Hawks will send guard Boris Diaw and a pair of conditional first-round picks to the Suns in exchange for Johnson, a restricted free agent who will sign a reported five-year contract for about $70 million. The Arizona Republic reported Johnson likely will get a signing bonus of about $20 million.
"I am extremely excited to add a player of Joe's background to our team," said Hawks coach Mike Woodson on the team's Web site. "He is a great young talent."
Johnson, 24, appeared in all 82 regular-season games last season, helping Phoenix compile a 62-20 record. He averaged 17.1 points, 5.1 rebounds and 3.5 assists per contest.
'How to Train Your Dragon 2' releases 5-minute clip
Lytro unveils camera that can focus a photo after shooting it