Yes unless you are arriving/departing with extra time that you could explore the town or the beach, just pay the extra money for the hotel at the airport. I am flying SWA instead of AA this time because AA flight schedules have made it impossible to arrive/depart without an overnight layover. I believe that it's intentional to force you to stay the night in SJU. I was able to get an early flight to SJU and a late flight out to dfw for years and now it's not an option.