The JSON string that you create is invalid, as the CouponDescription property contains an odd number of quotes.
If i run this....
var FirstName = "Joe";
var SurName = "Bloggs";
var json = "[{ "consumerId": "000000000000001", "remoteConsumerId": "000000000000001" , "Barcode": "Itf: 04910033400000000000000001,Ean13:ccode", "Type": "j", "returnUrl": "http://www.durex.co.uk","CouponDescription" : "Coupon For:"" + FirstName + " " + SurName + "" }]";
I get...
[{ "consumerId": "000000000000001", "remoteConsumerId": "000000000000001" , "Barcode": "Itf: 04910033400000000000000001,Ean13:ccode", "Type": "j", "returnUrl": "http://www.durex.co.uk","CouponDescription" : "Coupon For:"Joe Bloggs" }]
Look at the CouponFor value, the quotes are not closed.
Tools like LINQPad and JSONLint are very useful for validating code snippets in these scenarios
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…