public override void WritePropertyName(string name, bool escape) { SetWriteState(JsonToken.PropertyName, name); if (escape) { JavaScriptUtils.WriteEscapedJavaScriptString(_writer, name, QuoteChar, QuoteNameHandling, CharEscapeFlags, StringEscapeHandling); } else { bool quoteName = QuoteNameHandling == QuoteNameHandling.Quoted || QuoteNameHandling == QuoteNameHandling.Auto && !JavaScriptUtils.IsValidIdentifier(name); if (quoteName) { _writer.Write(QuoteChar); } _writer.Write(name); if (quoteName) { _writer.Write(QuoteChar); } } _writer.Write(':'); }