Start Debugging
2023-09-06 Atualizado 2023-11-05 csharpdotnetdotnet-8 Edit on GitHub

.NET 8 Memory<byte> é serializado como base64

A partir do .NET 8, tanto Memory<byte> quanto ReadOnlyMemory<byte> são serializados como strings Base64, enquanto outros tipos como Memory<int> continuam como arrays JSON.

A partir do .NET 8, tanto Memory<byte> quanto ReadOnlyMemory<byte> são serializados como strings Base64. Veja um exemplo rápido:

var bar = new byte[] { 28, 70, 0 };

JsonSerializer.Serialize<Memory<byte>>(bar);
JsonSerializer.Serialize<ReadOnlyMemory<byte>>(bar);
// Output: "HEYA"

Em contrapartida, Memory<int> e similares continuam sendo serializados como arrays 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.

< Voltar