Deserializing JSON when fieldnames contain spaces

System.Text.Json

If you're using System.Text.Json, the equivalent attribute is JsonPropertyName:

[JsonPropertyName(".net version")]
public string DotNetVersion { get; set; }

Example below:

public class Data
{
    public string Name { get; set; }

    [JsonPropertyName(".net version")]
    public string DotNetVersion { get; set; }

    [JsonPropertyName("binding type")]
    public string BindingType { get; set; }
}

// to deserialize
var data = JsonSerializer.Deserialize<Data>(json);

Use the JsonProperty attribute to indicate the name in the JSON. e.g.

[JsonProperty(PropertyName = "binding type")]
public string BindingType { get; set; }

Tags:

C#

Json

Json.Net