Cheapest time to buy a ticket for Johannesburg — Shanghai is approximately 34 days to departure. Normally the best deals on Johannesburg to Shanghai flights are available 2 to 4 months prior to departure.