public static bool TryParse(string line, out ProtocolMapConfigEnttity entity) { try { entity = Parse(line); entity.HashCode = line.GetHashCode(); return(true); } catch { entity = null; } return(false); }
public static ProtocolMapConfigEnttity Parse(string line) { var objList = JToken.Parse(line); var entity = new ProtocolMapConfigEnttity { ItemId = string.Empty, SerialString = string.Empty, Formula = string.Empty, SubItem = new Dictionary <string, ProtocolMapConfigEnttity>(), }; foreach (var child in from JObject obj in objList select ParseJObject(obj)) { entity.SubItem[child.ItemId] = child; } return(entity); }
private static ProtocolMapConfigEnttity ParseJObject(JObject obj) { var entity = new ProtocolMapConfigEnttity { ItemId = obj["text"].ToString(), SerialString = obj["CheckValue"].ToString(), Formula = obj["Formula"] != null ? obj["Formula"].ToString() : string.Empty, ConfigType = obj["AlarmType"] != null ? obj["AlarmType"].ToString() : "0", }; if (obj["children"] != null && obj["children"].HasValues) { var array = JArray.Parse(obj["children"].ToString()); entity.SubItem = new Dictionary <string, ProtocolMapConfigEnttity>(); foreach (var subEntity in array.Select(item => ParseJObject((JObject)item)).Where(subEntity => !string.IsNullOrEmpty(subEntity.ItemId))) { entity.SubItem[subEntity.ItemId] = subEntity; } } return(entity); }