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
Learn PascalABC.NET in Y minutes

На вики-странице Learn PascalABC.NET in Y minutes впервые представлены все ключевые возможности PascalABC.NET, отражающие 17 лет его эволюции.

📌 Важнейшие разделы:

🔹 Структуры данных: кортежи, диапазоны, строки, массивы, списки, словари, множества, записи и классы.
🔹 Современные языковые средства: автовыведение типа, внутриблочные описания, циклы loop и foreach, цикл for с шагом, интерполяция строк, многострочные строки, параметры по умолчанию и именованные аргументы.
🔹 Современные операции: in, срезы, индексация с конца. to для создания пар "ключ-значение" — лаконичные инструменты для работы с данными.
🔹 Новые литеральные массивы [1,2,3].
🔹 Лямбда-выражения и функциональные переменные: гибкость функционального подхода.
🔹 Последовательности: мощный инструмент для работы с данными, включая LINQ.
🔹 Поддержка разных парадигм: процедурное, функциональное, обобщенное и объектно-ориентированное программирование.
🔹 Полная интеграция со стандартной библиотекой .NET.

📖 Этот документ — уникальное собрание возможностей, отражающих эволюцию и современность PascalABC.NET.

🎖 Специальная благодарность @ulysses4ever за идею создания данного документа.

#PascalABCNET #новое
👍10🔥6👏1
Обращаемся к LLM из PascalABC.NET

Чтобы сделать запрос к большой языковой модели из PascalABC.NET, воспользуемся сервисом openrouter.ai.

За одну минуту получим там API Token, который будет использован в нашей программе в переменной KEY.

Для работы с JSON создадим проект и двумя нажатиями подключим к нему NuGet-пакет NewtonSoft.Json.

Отправим запрос с вопросом о смысле жизни к одной из самых лучших моделей - deepseek-r1 free с ризонингом (то есть со способностью рассуждать).

И через несколько секунд получим ответ - тоже в виде json, который выведем в отформатированном виде, используя сериализацию с форматированием.

Попутно в пришедшем json мы видим сам reasoning - рассуждение модели, как отвечать на наш вопрос.

Итак, в чем смысл жизни? Ответ LLM вы видите:

Как писал Виктор Франкл, "Жизнь требует от человека не вопросов, а ответов - через дела и любовь". Так что, возможно, смысл жизни в пути: в том, чтобы задаваться вопросами, искать, расти и находить своё собственное предназначение. 🌱

#PascalABCNET #LLM #любовь #предназначение
👍9🔥6