Opc.Ua.JsonDecoder.ReadObject C# (CSharp) Method

ReadObject() private method

private ReadObject ( ) : object>.Dictionary
return object>.Dictionary
        private Dictionary<string, object> ReadObject()
        {
            Dictionary<string,object> fields = new Dictionary<string, object>();

            while (m_reader.Read() && m_reader.TokenType != JsonToken.EndObject)
            {
                if (m_reader.TokenType == JsonToken.PropertyName)
                {
                    string name = (string)m_reader.Value;

                    if (m_reader.Read() && m_reader.TokenType != JsonToken.EndObject)
                    {
                        switch (m_reader.TokenType)
                        {
                            case JsonToken.Comment:
                            {
                                break;
                            }

                            case JsonToken.Null:
                            case JsonToken.Date:
                            {
                                fields[name] = m_reader.Value;
                                break;
                            }

                            case JsonToken.Bytes:
                            case JsonToken.Boolean:
                            case JsonToken.Integer:
                            case JsonToken.Float:
                            case JsonToken.String:
                            {
                                fields[name] = m_reader.Value;
                                break;
                            }

                            case JsonToken.StartArray:
                            {
                                fields[name] = ReadArray();
                                break;
                            }

                            case JsonToken.StartObject:
                            {
                                fields[name] = ReadObject();
                                break;
                            }
                        }
                    }
                }
            }

            return fields;
        }