The D'backs created an opening at third base earlier in the week, when they designated Ryan Roberts for assignment (and later traded him to the Tampa Bay Rays). Since Roberts' departure, third base has been manned by Willie Bloomquist and rookie Ryan Wheeler, but Bloomquist has more value as a utility man and Wheeler's defense is considered suspect.
Alas, Johnson's not a good fielder, either. But he's a Known Quantity, and apparently considered a tonic for a club with a big question mark at third base. It's been a disappointing season for the Diamondbacks, but a) they entered Sunday just 4½ games out of first place, and b) they've got the best run differential in the National League West, so it's too early to give up on this season.
To get Johnson, the Diamondbacks are giving up 24-year-old outfielder Marc Krauss and 21-year-old outfielder Bobby Borchering. Krauss, a second-round draft pick in 2009, has posted big numbers with Class AA Mobile in his second season at that level. Borchering was the 16th overall pick in that same draft, and got off to a good, albeit strikeout-filled, start in Class A this season, but struggled upon joining Krauss in Mobile.
Of course, this is just another move to restock the Astros' farm system. In the last few weeks, they've traded Johnson, Carlos Lee, Wandy Rodriguez, Brett Myers, J.A. Happ, and Brandon Myers; in return, the Astros have picked up 10 minor leaguers, most of them actual prospects.