Tür parametresi null olduğunda JsonSerializer.Serialize ArgumentNullException oluşturur
JsonSerializer.Serialize, JsonSerializer.SerializeAsyncve JsonSerializer.SerializeToUtf8Bytes türünde Type bir parametresi olan aşırı yüklemeler artık bu parametre için her null
geçirildiğinde bir ArgumentNullException oluşturur.
Açıklama değiştirildi
.NET Core 3.1'de, JsonSerializer.Serializeparametresi olan , JsonSerializer.SerializeAsync(Stream, Object, Type, JsonSerializerOptions, CancellationToken)ve JsonSerializer.SerializeToUtf8Bytes(Object, Type, JsonSerializerOptions) aşırı yüklemeleri Type parametre için Type inputType
geçirildiğinde null
bir ArgumentNullException oluşturur, ancak parametresi de null
ise Object value
olmaz. .NET 5'den başlayarak, bu yöntemler her zaman parametresi için Type geçirildiğinde null
bir ArgumentNullException oluşturur.
.NET Core 3.1'deki davranış:
// Returns a string with value "null".
JsonSerializer.Serialize(null, null);
// Returns a byte array with value "null".
JsonSerializer.SerializeToUtf8Bytes(null, null);
.NET 5 ve sonraki sürümlerde davranış:
// Throws ArgumentNullException: "Value cannot be null. (Parameter 'inputType')".
JsonSerializer.Serialize(null, null);
// Throws ArgumentNullException: "Value cannot be null. (Parameter 'inputType')".
JsonSerializer.SerializeToUtf8Bytes(null, null);
Sürüm kullanıma sunulmuştur
5.0
Değişiklik nedeni
null
parametresinin Type inputType
geçirilmesi kabul edilemez ve her zaman bir ArgumentNullExceptionatmalıdır.
Önerilen eylem
Bu yöntemlerin parametresini Type inputType
geçirmediğinizden null
emin olun.
Etkilenen API’ler
- System.Text.Json.JsonSerializer.Serialize(Object, Type, JsonSerializerOptions)
- System.Text.Json.JsonSerializer.Serialize(Utf8JsonWriter, Object, Type, JsonSerializerOptions)
- System.Text.Json.JsonSerializer.SerializeAsync(Stream, Object, Type, JsonSerializerOptions, CancellationToken)
- System.Text.Json.JsonSerializer.SerializeToUtf8Bytes(Object, Type, JsonSerializerOptions)
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin