🔶 Как быстро начать работу с JSON в C#
Рано или поздно вы начинаете задумываться о том, как сохранять состояние вашего приложения при закрытии или восстанавливать его состояние при запуске. Для этого нужно при закрытии "запомнить" нужные параметры, а при открытии их прочитать от куда-то (например, из файла) и восстановить значения соответствующих переменных.
Вторая задача, которая встаёт перед разработчиками – как передавать данные между разными приложениями. Например, у вас есть backend написанный на C# и требуется передать данные мобильному приложению написанному на языке Swift или Java.
Для того чтобы осуществить как первую, так и вторую идею требуется перевести структуру данных, описывающую некую модель, в битовую последовательность (часто говорят, сериализавать объект), а затем создать структуру данных из битовой последовательности (или десериализовать объект).
Для этих задач чаще всего используются форматы JSON и XML.
Пример:
Чтобы превратить данные в JSON-объект воспользуемся библиотекой Newtonsoft.Json для .NET
1️⃣ Добавляем библиотеку в свой проект:
для этого в терминале прописываем
итог:
Пример сохранения в файл:
Пример чтения из файла:
#json #dotnet #csharp
Рано или поздно вы начинаете задумываться о том, как сохранять состояние вашего приложения при закрытии или восстанавливать его состояние при запуске. Для этого нужно при закрытии "запомнить" нужные параметры, а при открытии их прочитать от куда-то (например, из файла) и восстановить значения соответствующих переменных.
Вторая задача, которая встаёт перед разработчиками – как передавать данные между разными приложениями. Например, у вас есть backend написанный на C# и требуется передать данные мобильному приложению написанному на языке Swift или Java.
Для того чтобы осуществить как первую, так и вторую идею требуется перевести структуру данных, описывающую некую модель, в битовую последовательность (часто говорят, сериализавать объект), а затем создать структуру данных из битовой последовательности (или десериализовать объект).
Для этих задач чаще всего используются форматы JSON и XML.
Пример:
Чтобы превратить данные в JSON-объект воспользуемся библиотекой Newtonsoft.Json для .NET
1️⃣ Добавляем библиотеку в свой проект:
для этого в терминале прописываем
dotnet add package Newtonsoft.Json
2️⃣ Описываем модель, которую данных: public class Worker
{
public int Age { get; set; }
public int Salary { get; set; }
public string FullName { get; set; }
}
3️⃣ Импортируем пространство имён: using Newtonsoft.Json;
4️⃣ Создаём экземпляр Worker'а: Worker worker = new()
{
Age = 32,
Salary = 123456,
FullName = "Иван Васильевич IV"
};
5️⃣ Сериализация данных: string json = JsonConvert.SerializeObject(worker);
итог:
{
"Age" : 32,
"Salary" : 123456,
"FullName" : "Иван Васильевич IV"
}
▶️ Можно сохранить в файл или отправить по сети:Пример сохранения в файл:
File.WriteAllText("data.json", json);
▶️ Можно прочитать из файла или скачать из сети:Пример чтения из файла:
string data = File.ReadAllText("data.json");
6️⃣ Десериализация данных: Worker w = JsonConvert.DeserializeObject<Worker>(data);
▶️ Распечатываем: Console.WriteLine($"[{w.FullName} {w.Age} {w.Salary}]");
ps 99% Клиет-серверной архитектуры не обходятся без JSON'а, лучше изучить заранее#json #dotnet #csharp