Shanghai is a very modern city. Most restaurants are hygienic and food poisoning is not a concern. You can brush your teeth with tap water but do drink bottled water, it is cheap and easy to find.
As for street food, for a western stomach, it is not recommended. But if you do want to try, be wary of meats that have been cooked and left out to display. Vegetables are less likely to be contaminated, such as tofu or eggplant skewers.
Make sure you eat fruits with skin that you can peel, like oranges or bananas, so avoid apples, pears etc. unless you peel them.
In saying all of the above, Shanghai really is world-class when it comes to its cuisine and if you happen to be eating at mostly restaurants you can be fairly certain that you are safe.
On a side note, I highly recommend having pre-dinner drinks in Bar Level 87 in the Park Hyatt in the Shanghai World Financial Centre a.k.a the famous Bottle Opener Building -- for some spectacular views of the sunset.
Safe travels! :) almost 7 years ago
I just got back from Shanghai a few days ago. It's a great city with great food. I didn't get sick at all and I ate street food all the time.. so I disagree with the previous answer about avoiding street food. There's AMAZING street food everywhere... just duck down a side street and walk around and you'll be surprised with how much the city has to offer. Just see what they are cooking, and if you like the look of it (and see other people eating it) then dig in! I didn't drink the water.. I recommend you buy bottled water. A good hotel to stay at is Hanting Express.. they are everywhere and are quite clean and only about $40 USD per night. Good luck and have a great time! almost 7 years ago