Hyena.Json.Deserializer.ParseObject C# (CSharp) Method

ParseObject() private method

private ParseObject ( ) : JsonObject
return JsonObject
        private JsonObject ParseObject()
        {
            JsonObject obj = new JsonObject ();

            while (true) {
                Token key = CheckScan (TokenType.String | TokenType.ObjectFinish);
                if (key.Type == TokenType.ObjectFinish) {
                    break;
                }

                CheckScan (TokenType.Colon);
                Token value = CheckScan (TokenType.Value);

                object value_val = value.Value;
                if (value.Type == TokenType.ArrayStart) {
                    value_val = ParseArray ();
                } else if (value.Type == TokenType.ObjectStart) {
                    value_val = ParseObject ();
                }

                obj.Add ((string)key.Value, value_val);

                Token token = CheckScan (TokenType.Comma | TokenType.ObjectFinish);
                if (token.Type == TokenType.ObjectFinish) {
                    break;
                }
            }

            return obj;
        }