The average temperature in Beijing in December is minus 2 degrees. Beijing, is dry, windy and chilly and snow frequently covers the ground for extended periods.
In Shanghai expect cold, rain and cloud but rarely snow. The wind can make things feel even colder so be prepared.