1. Wprowadzenie do C#
  2. Szybki start
  3. Pierwszy program
  4. Komentarze
  5. Typy danych
  6. Zmienne
  7. Pola
  8. Właściwości
  9. Stałe
  10. Metody
  11. Instrukcje warunkowe
  12. Pętle
  13. Tablice
  14. Kolekcje
  15. Klasy
  16. Dziedziczenie
  17. Polimorfizm
  18. Konwersja typów
  19. Właściwości klasy String
  20. Typy wyliczeniowe
  21. Interfejsy
  22. Klasy statyczne
  23. Klasy Abstrakcyjne
  24. Przestrzenie nazw
  25. Wyjątki
  26. Typy generyczne
  27. JSON
  28. XML
  29. Podsumowanie

JSON

W języku C# istnieje kilka bibliotek, które umożliwiają pracę z danymi JSON. Jedną z najpopularniejszych jest Newtonsoft.Json, która zapewnia funkcje do serializacji i deserializacji danych JSON. Można ją łatwo zaimportować za pomocą narzędzia NuGet. Innymi popularnymi bibliotekami są System.Text.Json oraz Json.NET.

Newtonsoft.Json to biblioteka, która jest szeroko stosowana w języku C# do pracy z danymi JSON. Umożliwia ona łatwą serializacje i deserializacje obiektów C# do formatu JSON oraz odwrotnie.

Notatka

Aby użyć tej biblioteki, należy ją najpierw zaimportować za pomocą narzędzia NuGet. Następnie, w celu zserializowania obiektu do formatu JSON, można użyć metody JsonConvert.SerializeObject() i podać obiekt jako argument. Analogicznie, aby zdeserializować dane JSON do obiektu C#, można użyć metody JsonConvert.DeserializeObject() i podać typ obiektu docelowego oraz dane JSON jako argumenty.

Oto przykład serializacji obiektu C# do formatu JSON za pomocą biblioteki Newtonsoft.Json:

								
using System;
using Newtonsoft.Json;

class Student
{
    public string Imie { get; set; }
    public string Nazwisko { get; set; }
    public int Wiek { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        Student student = new Student
        {
            Imie = "Jan",
            Nazwisko = "Kowalski",
            Wiek = 20
        };

        string json = JsonConvert.SerializeObject(student);

        Console.WriteLine(json);
    }
}
								
						
Wyjaśnienie

Kod powyżej tworzy obiekt typu Student i przypisuje mu odpowiednie wartości. Następnie, obiekt ten jest serializowany do formatu JSON za pomocą metody JsonConvert.SerializeObject() i wynik jest wyświetlany na konsoli.

Oto przykład deserializacji danych JSON do obiektu C# za pomocą biblioteki Newtonsoft.Json:

								
using System;
using Newtonsoft.Json;

class Student
{
    public string Imie { get; set; }
    public string Nazwisko { get; set; }
    public int Wiek { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        string json = "{\"Imie\":\"Jan\",\"Nazwisko\":\"Kowalski\",\"Wiek\":20}";

        Student student = JsonConvert.DeserializeObject<Student>(json);

        Console.WriteLine("Imie: " + student.Imie);
        Console.WriteLine("Nazwisko: " + student.Nazwisko);
        Console.WriteLine("Wiek: " + student.Wiek);
    }
}
								
						
Wyjaśnienie

W powyższym przykładzie, dane JSON są przypisane do zmiennej json. Następnie, dane te są deserializowane do obiektu typu Student za pomocą metody JsonConvert.DeserializeObject(). Obiekt ten jest następnie wykorzystywany do wyświetlenia poszczególnych właściwości na konsoli.

Poniżej przedstawiam kolejny przykład użycia biblioteki Newtonsoft.Json do serializacji i deserializacji danych JSON w języku C#:

								
using System;
using System.Collections.Generic;
using Newtonsoft.Json;

class Program
{
    static void Main(string[] args)
    {
        // Tworzymy listę obiektów do serializacji
        var produkty = new List<Produkt>
        {
            new Produkt { Nazwa = "Jablko", Cena = 2.5 },
            new Produkt { Nazwa = "Banan", Cena = 1.5 },
            new Produkt { Nazwa = "Pomarańcza", Cena = 3.5 }
        };

        // Serializujemy listę do formatu JSON
        string json = JsonConvert.SerializeObject(produkty);
        Console.WriteLine(json);

        // Deserializujemy dane JSON do listy obiektów C#
        List<Produkt> produkty2 = JsonConvert.DeserializeObject<List<Produkt>>(json);

        foreach (var produkt in produkty2)
        {
            Console.WriteLine(produkt.Nazwa + " - " + produkt.Cena);
        }
    }
}

class Produkt
{
    public string Nazwa { get; set; }
    public double Cena { get; set; }
}
								
						
Wyjaśnienie

W powyższym przykładzie tworzymy listę obiektów klasy Produkt z kilkoma właściwościami. Następnie korzystając z metody JsonConvert.SerializeObject() serializujemy listę do formatu JSON i wyświetlamy ją na konsoli. Potem za pomocą metody JsonConvert.DeserializeObject<T>() deserializujemy dane JSON do listy obiektów C# i wyświetlamy informacje o każdym produkcie.

Notatka

Json.NET to kolejna popularna biblioteka do pracy z danymi JSON w języku C#. Podobnie jak Newtonsoft.Json, umożliwia ona łatwą serializację i deserializację obiektów C# do formatu JSON oraz odwrotnie. Biblioteka ta oferuje również dodatkowe funkcje takie jak obsługa linii typów, kontrola formatowania, a także możliwość dostosowywania procesu serializacji i deserializacji za pomocą atrybutów i konwerterów.