/// <summary> /// Analyzes characters that are between " " in a json string. /// </summary> /// <param name="c">Character is analyze</param> /// <param name="engage">Never used</param> /// <returns>Analysis of character</returns> public ECharacterAnalyzerResponse Analyze(char c, out ICharacterAnalyzer engage) { engage = null; if (c == '"') { return(ECharacterAnalyzerResponse.ReleaseCharacter); } if (c == '\\') { return(ECharacterAnalyzerResponse.IncludeEscapeCharacter); } return(ECharacterAnalyzerResponse.IncludeCharacter); }
/// <summary> /// Categorizes characters in a json string, assuming they are now between "", and are /// not a json string literal /// </summary> /// <param name="c">Character to analyze</param> /// <param name="engage">returns <see cref="StringAnalyzer"/> if character is a "</param> /// <returns>Analysis of character</returns> public ECharacterAnalyzerResponse Analyze(char c, out ICharacterAnalyzer engage) { engage = null; if (char.IsWhiteSpace(c)) { return(ECharacterAnalyzerResponse.ExcludeCharacter); } if (c == '{' || c == '}' || c == '[' || c == ']' || c == ',') { return(ECharacterAnalyzerResponse.Token); } if (c == '"') { engage = stringAnalyzer; return(ECharacterAnalyzerResponse.EngageCharacter); } return(ECharacterAnalyzerResponse.IncludeCharacter); }