protected StringNodeBase( ReadOnlyMemory <byte> bufferedToken, bool isStringNode) : base(isStringNode ? JsonNodeType.String : JsonNodeType.FieldName) { this.value = new Lazy <string>(() => JsonTextParser.GetStringValue(bufferedToken.Span)); }
/// <inheritdoc /> public override string GetStringValue() { ReadOnlySpan <byte> stringToken = this.jsonTextBuffer.GetBufferedRawJsonToken( this.token.Start, this.token.End).Span; return(JsonTextParser.GetStringValue(stringToken)); }
/// <inheritdoc /> public override UtfAnyString GetStringValue(IJsonNavigatorNode node) { if (!(node is StringNodeBase stringNodeBase)) { throw new ArgumentException($"{node} was not of type: {nameof(StringNodeBase)}."); } return(JsonTextParser.GetStringValue(stringNodeBase.BufferedValue)); }
/// <inheritdoc /> public override UtfAnyString GetStringValue() { if (this.TryGetBufferedStringValue(out Utf8Memory memory)) { return(Utf8String.UnsafeFromUtf8BytesNoValidation(memory.Memory)); } ReadOnlyMemory <byte> stringToken = this.jsonTextBuffer.GetBufferedRawJsonToken( this.token.Start, this.token.End); return(JsonTextParser.GetStringValue(Utf8Memory.UnsafeCreateNoValidation(stringToken))); }