The Lasse Hallstrom-directed romantic drama “Dear John” won the weekend in a big way, grossing an estimated $32.4 million.