Start Debugging
2023-09-06 更新日 2023-11-05 csharpdotnetdotnet-8 Edit on GitHub

.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.

< 戻る