.net Core Jsonpropertyname

3 min read Jun 03, 2024
.net Core Jsonpropertyname

Comprendre et utiliser JsonPropertyName dans .NET Core

.NET Core offre une variété de fonctionnalités pour la sérialisation et la désérialisation de données JSON. Parmi ces fonctionnalités, JsonPropertyName est un attribut particulièrement utile pour contrôler la façon dont les propriétés d'un objet sont mappées vers les noms des champs dans le JSON.

Qu'est-ce que JsonPropertyName ?

L'attribut JsonPropertyName est utilisé pour spécifier le nom d'un champ JSON qui correspond à une propriété d'un objet C#. Par défaut, .NET Core utilise le nom de la propriété C# comme nom du champ JSON. Cependant, vous pouvez utiliser JsonPropertyName pour modifier ce comportement.

Pourquoi utiliser JsonPropertyName ?

Il existe plusieurs raisons pour lesquelles vous pourriez souhaiter utiliser JsonPropertyName :

  • Nommage conventionnel différent: Si vos conventions de nommage C# et JSON diffèrent, vous pouvez utiliser JsonPropertyName pour garantir une correspondance correcte.
  • Sensibilité à la casse: JSON est sensible à la casse, donc myProperty et MyProperty sont considérés comme des champs différents. JsonPropertyName peut être utilisé pour spécifier le nom de champ JSON exact.
  • Noms de champs réservés: Certains noms de champs sont réservés dans JSON, comme null ou true. JsonPropertyName permet de contourner ce problème.

Exemple d'utilisation

using System.Text.Json;
using System.Text.Json.Serialization;

public class Person
{
    [JsonPropertyName("firstName")]
    public string FirstName { get; set; }

    [JsonPropertyName("lastName")]
    public string LastName { get; set; }
}

public class Example
{
    public static void Main(string[] args)
    {
        var person = new Person { FirstName = "John", LastName = "Doe" };
        var json = JsonSerializer.Serialize(person);

        Console.WriteLine(json);
    }
}

Ce code produit le JSON suivant :

{"firstName": "John", "lastName": "Doe"}

Dans cet exemple, les propriétés FirstName et LastName de l'objet Person sont mappées vers les champs JSON firstName et lastName respectivement.

Conclusion

JsonPropertyName est un outil puissant qui vous permet de contrôler la sérialisation et la désérialisation JSON dans .NET Core. Il vous aide à garantir que les données sont mappées correctement, même si les conventions de nommage diffèrent entre votre code C# et votre JSON.

Mots-clés: JsonPropertyName, .NET Core, sérialisation, désérialisation, JSON, nommage, conventions.

Related Post