예제 #1
0
 public byte[] AnalyzeJsonBuffer(ReadOnlySpan <byte> bytes, JsonWriterOptions options = default, int minBufferSize = 8096)
 {
     byte[] buffer = JT809ArrayPool.Rent(minBufferSize);
     try
     {
         JT809MessagePackReader jT809MessagePackReader = new JT809MessagePackReader(bytes);
         jT809MessagePackReader.Decode(buffer);
         using (MemoryStream memoryStream = new MemoryStream())
             using (Utf8JsonWriter utf8JsonWriter = new Utf8JsonWriter(memoryStream, options))
             {
                 jT809Package.Analyze(ref jT809MessagePackReader, utf8JsonWriter, jT809Config);
                 utf8JsonWriter.Flush();
                 return(memoryStream.ToArray());
             }
     }
     finally
     {
         JT809ArrayPool.Return(buffer);
     }
 }