I am on ASP.Net MVC 3, and going by the feature list supported in at, i should be able to get default json model binding working out of the box. However i havent been succes
As Cresnet Fresh rightly pointed out in the comments to the question the model properties must be marked public.
So modifying Discount class as below resolved this.
Discount
public class Discount { public string Sku{get; set;} public string DiscountValue{get; set;} public string DiscountType{get; set;} }