Exemple #1
0
        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);
                }
            }
        }