Dela via


Så här aktiverar du skiftlägeskänslig egenskapsnamnmatchning med System.Text.Json

I den här artikeln får du lära dig hur du aktiverar skiftlägesokänslig egenskapsnamnmatchning med System.Text.Json namnområdet.

Skiftlägesokänslig egenskapsmatchning

Som standard söker deserialisering efter skiftlägeskänsliga egenskapsnamn som matchar mellan JSON och målobjektegenskaperna. Om du vill ändra det beteendet anger du JsonSerializerOptions.PropertyNameCaseInsensitive till true:

Kommentar

Webbstandarden är skiftlägeskänslig.

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)

Här är ett exempel på JSON med egenskapsnamn för kamelfall. Den kan deserialiseras till följande typ som har egenskapsnamn för Pascal-skiftläge.

{
  "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

Se även