Johnson is a free agent after this season, as are Hill and McDonald. He has hit for an 88 OPS+ this year, but had a 127 last year for the Diamondbacks. More as it becomes available.
In 2010 Johnson was a star, hitting 284/370/496 for a 127 OPS+. His defense has been solid according to UZR lately (7.7 UZR per 150 in 2010, 6.1 this year) after being poor early on in his career (-5 and -7 UZR per 150 his first two seasons at 2B). This year his hitting dropped drastically, down to 209/287/412 - aka JPA territory.
As to peaks, Hill's best year was 2009 - 286/330/499 114 OPS+ with one other season over 92 for OPS+. Johnson's was last year 284/370/496 for a 127 OPS+, the third time he was over 100 for OPS+.
As to salary, Johnson was making $5.85 million, Hill $5 million, McDonald $1.5 million so if you assume a call-up replaces McDonald you get a tiny drop in payroll (down to a pro-rated $6.35 million vs $6.5 million for Hill/McDonald).
Again, a great case of buying low, but also selling low on Hill. Pre-season the Diamondbacks were looking for a quality starting pitcher for Johnson, now they had to take a pair of soon to be free agents who are south of 650 for OPS.