For grocery shopping, try Starfish Market (The Marketplace, 340/779-4949, 7:30 a.m.–9 p.m. daily), a full-service grocery store just outside of Cruz Bay [1], on the road to the Westin. In town, Dolphin Market (Centerline Rd., 340/776-5322, 7:30 a.m.–11 p.m. daily) is your best bet. Prices are high; consider bringing food from St. Thomas [2] if you’re on a budget.
Links:
[1] http://www.moon.com/destinations/virgin-islands/st-john/sights/cruz-bay
[2] http://www.moon.com/destinations/virgin-islands/st-thomas