You have a JSON inside another JSON... Using Json.NET:
var des = (JObject)JsonConvert.DeserializeObject(str);
// The inner data
string data = (string)des["data"];
// From string to object
var desInner = (JObject)JsonConvert.DeserializeObject(data);
// The properties you want
string ackNo = (string)desInner["AckNo"];
DateTime ackDt = (DateTime)desInner["AckDt"];
string irn = (string)desInner["Irn"];
If ackDt
is optional you could:
var ackDt = (DateTime?)desInner["AckDt"];
And if you want ackNo
to be a number:
long ackNo = (long)desInner["AckNo"];
or (if it is optional):
long? ackNo = (long?)desInner["AckNo"];