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.PropertyNameCaseInsensitivetrue
:
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
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort: Gedurende 2024 worden GitHub Issues uitgefaseerd als het feedbackmechanisme voor inhoud. Dit wordt vervangen door een nieuw feedbacksysteem. Ga voor meer informatie naar:Feedback verzenden en bekijken voor