private bool ParseText <T>(string Data, string Hash, out EDCResultData <T> Result) { try { var text = TrimData(Data); var hashText = ChecksumHelper.Hash(text); if (hashText != Hash) { Result = null; return(false); } Result = JsonConvert.DeserializeObject <EDCResultData <T> >(text); return(true); } catch { Result = null; return(false); } }
private void ParseResult <T>(string data) { try { var text = data.ToString(); //trim //00000000^hash~@^json~@^json~@^hash~00000000 var ListData = text.Split('@'); //hash string Hash = TrimData(ListData.First()); if (Hash.Length != 4) { Hash = TrimData(ListData.Last()); } EDCResultData <T> result = null;; foreach (var dataItem in ListData) { if (TrimData(dataItem).Length > 4) { var CanParse = ParseText <T>(dataItem, Hash, out result); if (CanParse) { break; } } } _Result = result; } catch (Exception ex) { } }