コード例 #1
0
        public byte[] ReaderUtf8JsonReturnBytes()
        {
            Utf8Json.JsonReader json = new Utf8Json.JsonReader(_dataUtf8);

            byte[]      outputArray = new byte[_dataUtf8.Length * 2];
            Span <byte> destination = outputArray;

            Utf8Json.JsonToken token = json.GetCurrentJsonToken();
            while (token != Utf8Json.JsonToken.None)
            {
                json.ReadNext();
                token = json.GetCurrentJsonToken();

                switch (token)
                {
                case Utf8Json.JsonToken.String:
                case Utf8Json.JsonToken.Number:
                case Utf8Json.JsonToken.True:
                case Utf8Json.JsonToken.False:
                case Utf8Json.JsonToken.Null:
                    ReadOnlySpan <byte> valueSpan = json.ReadNextBlockSegment();
                    valueSpan.CopyTo(destination);
                    destination[valueSpan.Length]     = (byte)',';
                    destination[valueSpan.Length + 1] = (byte)' ';
                    destination = destination.Slice(valueSpan.Length + 2);
                    break;

                default:
                    break;
                }
            }

            return(outputArray);
        }
コード例 #2
0
        public void ReaderUtf8JsonEmptyLoop()
        {
            Utf8Json.JsonReader json = new Utf8Json.JsonReader(_dataUtf8);

            while (json.GetCurrentJsonToken() != Utf8Json.JsonToken.None)
            {
                json.ReadNext();
            }
        }