Skip to content

Latest commit

 

History

History
44 lines (37 loc) · 1.34 KB

JsonConstructorAttribute.md

File metadata and controls

44 lines (37 loc) · 1.34 KB

JsonConstructorAttribute

This sample uses the Argon.JsonConstructorAttribute to specify that a constructor should be used to create a class during deserialization.

public class User
{
    public string UserName { get; }
    public bool Enabled { get; }

    public User()
    {
    }

    [JsonConstructor]
    public User(string userName, bool enabled)
    {
        UserName = userName;
        Enabled = enabled;
    }
}

snippet source | anchor

var json = """
    {
      "UserName": "domain\\username",
      "Enabled": true
    }
    """;

var user = JsonConvert.DeserializeObject<User>(json);

Console.WriteLine(user.UserName);
// domain\username

snippet source | anchor