Naam van eigenschap die niet hoofdlettergevoelig is inschakelen met System.Text.Json
In dit artikel leert u hoe u hoofdlettergevoelige eigenschapsnamen kunt inschakelen die overeenkomen met de System.Text.Json
naamruimte.
Niet-hoofdlettergevoelige eigenschap die overeenkomt
Standaard zoekt deserialisatie naar hoofdlettergevoelige eigenschapsnamen tussen JSON en de eigenschappen van het doelobject. Als u dit gedrag wilt wijzigen, stelt u het volgende in JsonSerializerOptions.PropertyNameCaseInsensitive true
:
Notitie
De webstandaard is niet hoofdlettergevoelig.
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)
Hier volgt een voorbeeld van JSON met de eigenschapsnamen van kamelen. Het kan worden gedeserialiseerd in het volgende type met Pascal-naam van eigenschapsnamen.
{
"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
Zie ook
Werk met ons samen op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en bekijken. Raadpleeg onze gids voor inzenders voor meer informatie.