Sérialisation et désérialisation c# JSON

Introduction:

JSON (nom complet JavaScript ObjectNotation) est un format d'échange de données léger. Il est basé sur un sous-ensemble de la norme de syntaxe JavaScript. JSON est un format de texte totalement indépendant de la langue qui peut être facilement transféré sur divers réseaux, plates-formes et programmes. La syntaxe de JSON est simple, facile à lire et à écrire pour les humains, et facile à analyser et à générer pour les machines.

Télécharger le package NuGet

La première étape pour faire fonctionner JSON en C# est de télécharger le package NuGet requis Newtonsoft.Json. Il convient de noter que dans la même solution, différents types de packages Nuget téléchargés doivent être conservés dans la même version, sinon une erreur peut être signalée.

désérialisation

Chaîne chaîne convertie en classe

créer d'abord une classe

public class Site
{
    public int Id { get; set; }
    public string Name { get; set; }
}

Convertissez la chaîne en une classe d'entité, puis imprimez-la via la classe d'entité

    [Test]
    public void TestJsonToObject()
    {
        string json = "{\"Id\":1,\"Name\":\"爱吃香蕉的阿豪\"}";
        var site = JsonConvert.DeserializeObject<Site>(json) as Site;
        Console.WriteLine($"Id={site.Id}");
        Console.WriteLine("Nmae="+site.Name);
    }

fichier json dans la classe

Dans le travail réel, lorsque nous avons beaucoup de contenu json, il est impossible de l'écrire dans la classe, nous devons donc l'écrire dans un fichier json, puis le faire passer par le chemin

Créer une classe de données

public class JsonData
{
    public List<Data> data { get; set; }
}

public class Data
{
    public int id { get; set; }
    public string name { get; set; }
}

Créer un fichier json

{
  "data": [
    {
      "id" : 1,
      "name" : "爱吃香蕉的阿豪"
    },
    {
      "id" : 2,
      "name" : "张三"
    },
    {
      "id" : 3,
      "name" : "李四"
    }
  ]
}

classe d'essai

    [Test]
    public void TestJsonText()
    {
        var json = File.ReadAllText(@"D:\project\c#\Solution\Project\JSON\data.json");
        var JsonData = JsonConvert.DeserializeObject<JsonData>(json);
        foreach (var data in JsonData.data)
        {
            Console.WriteLine("id="+data.id + "   data="+data.name);
        }
    }

Sérialisation

Suivez la classe Site désérialisée, créez d'abord une nouvelle classe, définissez la valeur du champ, puis sérialisez-la dans une chaîne et imprimez-la

    [Test]
    public void TestObjectToJson()
    {
        Site site = new() { Id = 2, Name = "laowan" };
        var serializeObject = JsonConvert.SerializeObject(site);
        Console.WriteLine(serializeObject);
    }

Je suppose que tu aimes

Origine blog.csdn.net/weixin_65243968/article/details/129719604
conseillé
Classement