Johnson's 3-run double leads D-backs past Marlins