SI.com reported that Lopez will be paid $3.5 million for 2009. The East Valley (Ariz.) Tribune also reported that Lopez had agreed to a deal.
Hudson, the 2006 NL Gold Glove winner at second base, batted .305 for the Diamondbacks last season, but played in just 107 games after a broken wrist ended his season. He is seeking a long-term contract on the free agent market.
On Wednesday, the Diamondbacks also agreed on a $712,500, one-year contract with Augie Ojeda, keeping the utility infielder in Arizona for a third season.
The 33-year-old Ojeda, who was pressed into a greater role when Hudson injured his wrist, played a career-high 105 games last season for the D-backs and batted .242 with no home runs and 17 RBIs. Ojeda split time between second, shortstop and third base.
The most games he'd played previously was 78 in 2001 for the Chicago Cubs.
Information from The Associated Press was used in this report.