Beispiel #1
0
        internal string?GetString(int index, JsonTokenType expectedType)
        {
            JsonRow row = _parsedData.Get(index);

            JsonTokenType tokenType = row.TokenType;

            if (tokenType == JsonTokenType.Null)
            {
                return(null);
            }

            CheckExpectedType(expectedType, tokenType);

            ReadOnlySpan <byte> data    = _utf8Json.Span;
            ReadOnlySpan <byte> segment = data.Slice(row.Location, row.Length);
            string value;
            int    backslash = segment.IndexOf(JsonConstants.BackSlash);

            if (backslash < 0)
            {
                value = JsonReaderHelper.TranscodeHelper(segment);
            }
            else
            {
                value = JsonReaderHelper.GetUnescapedString(segment, backslash);
            }

            Debug.Assert(value != null);
            return(value);
        }
Beispiel #2
0
        internal string GetPropertyRawValueAsString(int valueIndex)
        {
            ReadOnlyMemory <byte> segment = GetPropertyRawValue(valueIndex);

            return(JsonReaderHelper.TranscodeHelper(segment.Span));
        }
Beispiel #3
0
        internal string GetRawValueAsString(int index)
        {
            ReadOnlyMemory <byte> segment = GetRawValue(index, includeQuotes: true);

            return(JsonReaderHelper.TranscodeHelper(segment.Span));
        }