.NET 8 Memory<byte> сериализуется как base64
Начиная с .NET 8, и Memory<byte>, и ReadOnlyMemory<byte> сериализуются как строки Base64, тогда как другие типы вроде Memory<int> остаются JSON-массивами.
Начиная с .NET 8 и Memory<byte>, и ReadOnlyMemory<byte> сериализуются как строки Base64. Рассмотрим небольшой пример:
var bar = new byte[] { 28, 70, 0 };
JsonSerializer.Serialize<Memory<byte>>(bar);
JsonSerializer.Serialize<ReadOnlyMemory<byte>>(bar);
// Output: "HEYA"
При этом Memory<int> и подобные типы продолжают сериализоваться как JSON-массивы.
JsonSerializer.Serialize<Memory<int>>(new int[] { 28, 70, 0 });
// Output: [28,70,0]
Comments
Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.