// Utworzenie klasy Person
internal class Person
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
// Utworzenie obiektu klasy Person i zapisanie go w pliku JSON
public MainWindow()
{
InitializeComponent();
Person person = new()
{
Age = 35,
Name = "Alexo",
Id = 1
};
JsonSerialize(person);
}
void JsonSerialize(Person p)
{
var json = JsonSerializer.Serialize(p);
using StreamWriter sw = new("People.json");
sw.WriteLine(json);
sw.Close();
}
Odczytanie zawartość json do obiektu (deserializacja)
Person person;
public MainWindow()
{
InitializeComponent();
Person p = JsonDeserialize();
lbl.Content = p.Name + " " + p.Age;
}
Person JsonDeserialize()
{
using StreamReader sr = new("People.json");
var personJson = sr.ReadLine();
var person = JsonSerializer.Deserialize<Person>(personJson);
return person;
}
Zamiana listy na json i zapis do pliku
public MainWindow()
{
InitializeComponent();
var people = new List<Person>()
{
new(){Age = 18, Name = "Anna"},
new(){Age = 22, Name = "Bebo"},
new(){Age = 26, Name = "Gumbo"}
};
JsonSerialize(people);
}
static void JsonSerialize(List<Person> p)
{
var json = JsonSerializer.Serialize(p);
using StreamWriter sw = new("People.json");
sw.WriteLine(json);
sw.Close();
}
Odczytanie listy z pliku json
public MainWindow()
{
InitializeComponent();
var people = JsonDeserialize();
string peoplestr = "";
foreach (var person in people)
{
peoplestr += person.Name + "\n\r";
}
lbl.Content = peoplestr;
}
List<Person> JsonDeserialize()
{
using StreamReader sr = new("People.json");
var personJson = sr.ReadLine();
var person = JsonSerializer.Deserialize<List<Person>>(personJson);
return person;
}