private JsonToken ReadQuotedString() { Expect('"', "quoted string indicator"); reader.Next(); // Read '"' (Starting quote) // Read until we reach an unescaped quote char while (reader.Current != '"') { EnsureNotEof("quoted string"); if (reader.Current == '\\') { char escapedCharacter = reader.ReadEscapeCode(); sb.Append(escapedCharacter); continue; } StoreCurrentCharacterAndReadNext(); } reader.Next(); // Read '"' (Ending quote) return(new JsonToken(TokenKind.String, value: sb.Extract())); }