The 32-year-old Longoria says he will decide in the next few days if he will need surgery. Longoria is hitting .246 with 10 home runs and 34 RBIs. He was a three-time All-Star during 10 seasons with Tampa Bay and was traded to the Giants last winter.
Longoria was hit in the fourth inning and stayed in the game to run. He was then replaced in the field. The Giants beat the Marlins 6-3 in 16 innings.