Procédure d’activation de la correspondance de nom de propriété sans respect de la casse avec System.Text.Json
Dans cet article, vous allez apprendre à activer la correspondance de nom de propriété sans respect de la casse avec l’espace de noms System.Text.Json
.
Correspondance de propriétés sans respect de la casse
Par défaut, la désérialisation recherche des correspondances de nom de propriété respectant la casse entre JSON et les propriétés de l’objet cible. Pour modifier ce comportement, définissez JsonSerializerOptions.PropertyNameCaseInsensitive sur true
:
Notes
La valeur web par défaut ne respecte pas la casse.
var options = new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
};
WeatherForecast? weatherForecast = JsonSerializer.Deserialize<WeatherForecast>(jsonString, options);
Dim options As JsonSerializerOptions = New JsonSerializerOptions With {
.PropertyNameCaseInsensitive = True
}
Dim weatherForecast1 = JsonSerializer.Deserialize(Of WeatherForecast)(jsonString, options)
Voici un exemple JSON avec des noms de propriété CamelCase. Il peut être désérialisé dans le type suivant qui a des noms de propriété PascalCase.
{
"date": "2019-08-01T00:00:00-07:00",
"temperatureCelsius": 25,
"summary": "Hot",
}
public class WeatherForecast
{
public DateTimeOffset Date { get; set; }
public int TemperatureCelsius { get; set; }
public string? Summary { get; set; }
}
Public Class WeatherForecast
Public Property [Date] As DateTimeOffset
Public Property TemperatureCelsius As Integer
Public Property Summary As String
End Class