public void Read(string msg) { int index1 = msg.IndexOf('-'); BinaryCount = int.Parse(msg.Substring(0, index1)); int index2 = msg.IndexOf('['); int index3 = msg.LastIndexOf(',', index2); if (index3 > -1) { Namespace = msg.Substring(index1 + 1, index3 - index1 - 1); int idLength = index2 - index3 - 1; if (idLength > 0) { Id = int.Parse(msg.Substring(index3 + 1, idLength)); } } else { int idLength = index2 - index1 - 1; if (idLength > 0) { Id = int.Parse(msg.Substring(index1 + 1, idLength)); } } string json = msg.Substring(index2); var array = JsonDocument.Parse(json).RootElement.EnumerateArray(); //var array = MyJson.Parse(json).AsList(); int i = -1; foreach (var item in array) { i++; if (i == 0) { Event = item.GetString(); //Event = item.AsString(); JsonElements = new List <JsonElement>(); //JsonElements = new List<MyJson.IJsonNode>(); } else { JsonElements.Add(item); } } }
public void Read(string msg) { int index = msg.IndexOf('['); int lastIndex = msg.LastIndexOf(',', index); if (lastIndex > -1) { string text = msg.Substring(0, index); Namespace = text.Substring(0, lastIndex); if (index - lastIndex > 1) { Id = int.Parse(text.Substring(lastIndex + 1)); } } else { if (index > 0) { Id = int.Parse(msg.Substring(0, index)); } } msg = msg.Substring(index); //int index = msg.IndexOf('['); //if (index > 0) //{ // Namespace = msg.Substring(0, index - 1); // msg = msg.Substring(index); //} //var array = MyJson.Parse(msg).AsList(); var array = JsonDocument.Parse(msg).RootElement.EnumerateArray(); int i = -1; foreach (var item in array) { i++; if (i == 0) { //Event = item.AsString(); //JsonElements = new List<MyJson.IJsonNode>(); Event = item.GetString(); JsonElements = new List <JsonElement>(); } else { JsonElements.Add(item); } } }