/// <summary> /// Parses the current JSON token value from the source as a <see cref="bool"/>. /// Returns <see langword="true"/> if the TokenType is JsonTokenType.True and <see langword="false"/> if the TokenType is JsonTokenType.False. /// </summary> /// <exception cref="InvalidOperationException"> /// Thrown if trying to get the value of a JSON token that is not a boolean (i.e. <see cref="JsonTokenType.True"/> or <see cref="JsonTokenType.False"/>). /// <seealso cref="TokenType" /> /// </exception> public bool GetBoolean() { JsonTokenType type = TokenType; if (type == JsonTokenType.True) { Debug.Assert((HasValueSequence ? ValueSequence.ToArray() : ValueSpan).Length == 4); return(true); } else if (type != JsonTokenType.False) { ThrowHelper.ThrowInvalidOperationException_ExpectedBoolean(TokenType); Debug.Fail("Throw helper should have thrown an exception."); } Debug.Assert((HasValueSequence ? ValueSequence.ToArray() : ValueSpan).Length == 5); return(false); }