Работа с форматом JSON
Дорогие подписчики! Сегодня мы расскажем о том, как легко и удобно работать с форматом JSON в PascalABC.NET с использованием библиотеки Newtonsoft.Json. JSON (JavaScript Object Notation) — это текстовый формат для представления структурированных данных на основе синтаксиса JavaScript. Он стал стандартом де-факто для обмена данными в веб-приложениях и широко используется благодаря своей простоте и удобству.
💻 Предлагаем вашему вниманию небольшой пример кода, который демонстрирует разбор сложной JSON-структуры и вывод ее содержимого в консоль с русскими названиями полей. Обратите внимание на легкость доступа к вложенным объектам и массивам:
В этом примере форматированный вывод поможет вам легко читать данные, а использование русских названий для полей делает код более понятным. 🌟
Файл data.json имеет следующее содержимое:
🚀 Пробуйте работать с JSON в своих проектах на PascalABC.NET и делитесь своими впечатлениями в комментариях! Мы всегда рады услышать ваше мнение и поддержать новые идеи. 💬
#PascalABCNET #JSON #DataParsing
Дорогие подписчики! Сегодня мы расскажем о том, как легко и удобно работать с форматом 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 с шагом, интерполяция строк, многострочные строки, параметры по умолчанию и именованные аргументы.
🔹 Современные операции:
🔹 Новые литеральные массивы
🔹 Лямбда-выражения и функциональные переменные: гибкость функционального подхода.
🔹 Последовательности: мощный инструмент для работы с данными, включая LINQ.
🔹 Поддержка разных парадигм: процедурное, функциональное, обобщенное и объектно-ориентированное программирование.
🔹 Полная интеграция со стандартной библиотекой .NET.
📖 Этот документ — уникальное собрание возможностей, отражающих эволюцию и современность PascalABC.NET.
🎖 Специальная благодарность @ulysses4ever за идею создания данного документа.
#PascalABCNET #новое
На вики-странице Learn PascalABC.NET in Y minutes впервые представлены все ключевые возможности PascalABC.NET, отражающие 17 лет его эволюции.
📌 Важнейшие разделы:
🔹 Структуры данных: кортежи, диапазоны, строки, массивы, списки, словари, множества, записи и классы.
🔹 Современные языковые средства: автовыведение типа, внутриблочные описания, циклы loop и foreach, цикл for с шагом, интерполяция строк, многострочные строки, параметры по умолчанию и именованные аргументы.
🔹 Современные операции:
in
, срезы, индексация с конца. to
для создания пар "ключ-значение" — лаконичные инструменты для работы с данными.🔹 Новые литеральные массивы
[1,2,3]
.🔹 Лямбда-выражения и функциональные переменные: гибкость функционального подхода.
🔹 Последовательности: мощный инструмент для работы с данными, включая LINQ.
🔹 Поддержка разных парадигм: процедурное, функциональное, обобщенное и объектно-ориентированное программирование.
🔹 Полная интеграция со стандартной библиотекой .NET.
📖 Этот документ — уникальное собрание возможностей, отражающих эволюцию и современность PascalABC.NET.
🎖 Специальная благодарность @ulysses4ever за идею создания данного документа.
#PascalABCNET #новое
PascalABC.NET материалы
Learn PascalABC.NET in Y minutes
Эта страница написана в формате сайта Learn X in Y minutes где X = PascalABC.NET. PascalABC.NET — это элегантный и типобезопасный компилируемый язык программирования...
👍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 #любовь #предназначение
Чтобы сделать запрос к большой языковой модели из PascalABC.NET, воспользуемся сервисом openrouter.ai.
За одну минуту получим там API Token, который будет использован в нашей программе в переменной KEY.
Для работы с JSON создадим проект и двумя нажатиями подключим к нему NuGet-пакет NewtonSoft.Json.
Отправим запрос с вопросом о смысле жизни к одной из самых лучших моделей - deepseek-r1 free с ризонингом (то есть со способностью рассуждать).
И через несколько секунд получим ответ - тоже в виде json, который выведем в отформатированном виде, используя сериализацию с форматированием.
Попутно в пришедшем json мы видим сам reasoning - рассуждение модели, как отвечать на наш вопрос.
Итак, в чем смысл жизни? Ответ LLM вы видите:
Как писал Виктор Франкл, "Жизнь требует от человека не вопросов, а ответов - через дела и любовь". Так что, возможно, смысл жизни в пути: в том, чтобы задаваться вопросами, искать, расти и находить своё собственное предназначение. 🌱✨
#PascalABCNET #LLM #любовь #предназначение
👍9🔥6