PascalABC.NET официальный канал
1.86K subscribers
536 photos
1 video
9 files
376 links
Официальный канал языка и системы программирования PascalABC.NET
Download Telegram
Работа с форматом JSON

Дорогие подписчики! Сегодня мы расскажем о том, как легко и удобно работать с форматом JSON в PascalABC.NET с использованием библиотеки Newtonsoft.Json. JSON (JavaScript Object Notation) — это текстовый формат для представления структурированных данных на основе синтаксиса JavaScript. Он стал стандартом де-факто для обмена данными в веб-приложениях и широко используется благодаря своей простоте и удобству.

💻 Предлагаем вашему вниманию небольшой пример кода, который демонстрирует разбор сложной JSON-структуры и вывод ее содержимого в консоль с русскими названиями полей. Обратите внимание на легкость доступа к вложенным объектам и массивам:

uses Newtonsoft.Json.Linq;

begin
// Считываем содержимое JSON из файла
var jsonString := ReadAllText('data.json');

// Разбор JSON-строки в объект JObject
var jsonObject := JObject.Parse(jsonString);

// Доступ к верхнему уровню объекта "человек"
var person := jsonObject['человек'];

// Извлечение простых значений
var name := person['имя'].ToString;
var age := person['возраст'].ToObject&<integer>;
var isStudent := person['являетсяСтудентом'].ToObject&<boolean>;

// Доступ к вложенному объекту "контакты"
var contacts := person['контакты'];
var email := contacts['электроннаяПочта'].ToString;
var phone := contacts['телефон'].ToString;

// Доступ к массиву "хобби"
var hobbies := person['хобби'];
var hobbyList := hobbies.ToObject&<array of string>;

// Вывод извлеченных данных с ручным выравниванием
Println($'Имя: {name}');
Println($'Возраст: {age}');
Println($'Является студентом: {isStudent}');
Println($'Электронная почта: {email}');
Println($'Телефон: {phone}');

// Объединение элементов массива хобби в строку и вывод
Println($'Хобби: {hobbyList.JoinToString('', '')}');
end.


В этом примере форматированный вывод поможет вам легко читать данные, а использование русских названий для полей делает код более понятным. 🌟

Файл data.json имеет следующее содержимое:

{
"человек": {
"имя": "Иван",
"возраст": 30,
"являетсяСтудентом": false,
"контакты": {
"электроннаяПочта": "ivan@example.com",
"телефон": "123-456-7890"
},
"хобби": ["чтение", "путешествия", "плавание"]
}
}


🚀 Пробуйте работать с JSON в своих проектах на PascalABC.NET и делитесь своими впечатлениями в комментариях! Мы всегда рады услышать ваше мнение и поддержать новые идеи. 💬

#PascalABCNET #JSON #DataParsing
4🔥2🤩1
Использование сериалазации Json с помощью Newtonsoft.Json

Создаем проект, устанавливаем Newtonsoft.Json в качестве NuGet-пакета.

И пишем вот такую программу. Здесь сериализуется в строку в формате json словарь из целых в массивы целых.

Затем происходит десериализация, проверка типа и вывод содержимого в неизменном виде.

Код:
uses Newtonsoft.Json;

begin
var d0 := Dict (1 to [2,3,4],
3 to [4,5,6]
);
var json := JsonConvert.SerializeObject(d0);
Println(json);
var obj := JsonConvert.DeserializeObject&<Dictionary<integer,array of integer>>(json);
Println(TypeName(obj));
var d := obj as Dictionary<integer,array of integer>;
foreach var (k,v) in d do
Println(k,v);
end.


#json #nuget
62🔥1