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; }
private void SetDefaultOptions() { _writer.Indentation = INDENT_SIZE; _writer.Formatting = Formatting.Indented; _settings = new JSONWriterSettings(); _escapeNonAscii = false; }
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\" не поддерживается"); } } }