Exemple #1
0
        private void SetOptions(IValue settings)
        {
            _settings = (JSONWriterSettings)settings.GetRawValue();
            if (_settings.UseDoubleQuotes)
            {
                _writer.QuoteChar = '\"';
            }
            else
            {
                _writer.QuoteChar = '\'';
            }

            if (_settings.PaddingSymbols != null && _settings.PaddingSymbols.Length > 0)
            {
                _writer.IndentChar = _settings.PaddingSymbols[0];
            }
            else
            {
                _writer.IndentChar = ' ';
            }

            if (_settings.PaddingSymbols != null && _settings.PaddingSymbols.Length > 0)
            {
                _writer.Indentation = 1;
            }
            else
            {
                _writer.Indentation = INDENT_SIZE;
            }
            _writer.Formatting = Formatting.Indented;
        }
Exemple #2
0
 private void SetDefaultOptions()
 {
     _writer.Indentation = INDENT_SIZE;
     _writer.Formatting  = Formatting.Indented;
     _settings           = new JSONWriterSettings();
     _escapeNonAscii     = false;
 }
Exemple #3
0
        private void SetOptions(IValue settings)
        {
            _settings = (JSONWriterSettings)settings.GetRawValue();
            if (_settings.UseDoubleQuotes)
            {
                _writer.QuoteChar = '\"';
            }
            else
            {
                _writer.QuoteChar = '\'';
            }

            if (_settings.PaddingSymbols != null && _settings.PaddingSymbols.Length > 0)
            {
                _writer.IndentChar = _settings.PaddingSymbols[0];
            }
            else
            {
                _writer.IndentChar = ' ';
            }

            if (_settings.PaddingSymbols != null && _settings.PaddingSymbols.Length > 0)
            {
                _writer.Indentation = 1;
            }
            else
            {
                _writer.Indentation = INDENT_SIZE;
            }
            _writer.Formatting = Formatting.Indented;

            if (_settings.EscapeCharacters != null)
            {
                var jsonCharactersEscapeMode     = _settings.EscapeCharacters.GetRawValue() as SelfAwareEnumValue <JSONCharactersEscapeModeEnum>;
                var jsonCharactersEscapeModeEnum = GlobalsManager.GetEnum <JSONCharactersEscapeModeEnum>();

                if (jsonCharactersEscapeMode == jsonCharactersEscapeModeEnum.NotASCIISymbols)
                {
                    _escapeNonAscii              = true;
                    _writer.QuoteChar            = '\"';
                    _writer.StringEscapeHandling = StringEscapeHandling.EscapeNonAscii;
                }
                else if (jsonCharactersEscapeMode == jsonCharactersEscapeModeEnum.SymbolsNotInBMP)
                {
                    throw new NotImplementedException("Свойство \"СимволыВнеBMP\" не поддерживается");
                }
            }
        }