It was a deal that had been announced last week, but could not become final until the NBA's free agent and trade moratorium expired Wednesday.
Johnson is owed close to $90 million over the next four years.
To obtain Johnson, Brooklyn sent forward DeShawn Stevenson to Atlanta along with the expiring contracts of guards Jordan Farmar and Anthony Morrow and centers Johan Petro and Jordan Williams. In addition, Atlanta will receive a second-round draft pick in 2017 and Houston's 2013 first-round pick.
Johnson was a member of the Eastern Conference All-Star team each of the last six seasons. He averaged 18.8 points, 3.9 assists and 3.7 rebounds in 60 games during the 2011-12 campaign.
Aaron Carter is still in love with Hilary Duff
NBC reportedly holds celebs hostage to Jimmy Fallon's show