Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Обработка JSON с массивом строк в Delphi 10 Seattle: пошаговое руководство

Delphi , Синтаксис , Массивы

В статье рассмотрим, как в среде разработки Delphi 10 Seattle обрабатывать JSON, содержащий свойство, в котором хранится массив строк. Для примера возьмем следующий JSON:

{
  "name":"Joe",
  "age":45,
  "languages":["c++", "java", "cobol"]
}

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

Шаг 1: Парсинг JSON

Для начала необходимо разобрать JSON, используя встроенные возможности Delphi. В этом нам поможет класс TJSONObject. Создадим функцию, которая будет принимать строку JSON и возвращать массив строк.

function GetLanguagesArray(const AJSON: String): TArray<String>;
var
  LValue: TJSONValue;
  LArray: TJSONArray;
  i: Integer;
begin
  Result := nil;
  LValue := TJSONObject.ParseJSONValue(AJSON);
  if LValue <> nil then
  try
    LArray := (LValue as TJSONObject).GetValue('languages') as TJSONArray;
    SetLength(Result, LArray.Count);
    for i := 0 to Pred(LArray.Count) do
    begin
      Result[i] := LArray[i].Value;
    end;
  finally
    LValue.Free;
  end;
end;

Шаг 2: Обработка памяти

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

Шаг 3: Использование альтернативных библиотек

Если вы предпочитаете использовать сторонние библиотеки, такие как REST.JSON, процесс может быть упрощен. Пример использования такой библиотеки для парсинга и чтения элементов массива:

type
  TDeveloper = class
  private
    FAge: Integer;
    FName: string;
    FLanguages: TArray<string>;
  public
    property Age: Integer read FAge write FAge;
    property Name: string read FName write FName;
    property Languages: TArray<string> read FLanguages write FLanguages;
  end;

var
  FDeveloper: TDeveloper;
  FLanguage: string;
begin
  try
    FDeveloper := TJson.JsonToObject<TDeveloper>(Memo1.Text);
    // Дальнейшая обработка данных
  finally
    FreeAndNil(FDeveloper);
  end;
end;

Заключение

Мы рассмотрели, как обрабатывать JSON с массивом строк в Delphi 10 Seattle, используя стандартные средства и альтернативные библиотеки. Выбор метода зависит от ваших предпочтений и требований проекта. Обе методики являются эффективными и позволяют извлекать данные из JSON в удобном для дальнейшей работы формате.

Создано по материалам из источника по ссылке.

Обсуждение способов обработки JSON с массивом строк в среде разработки Delphi 10 Seattle, включая парсинг и управление памятью.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Массивы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-03-14 12:25:57/0.0014948844909668/0