Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.04.2024, 17:21
Creator13 Creator13 вне форума
Прохожий
 
Регистрация: 18.09.2013
Сообщения: 15
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Парсинг JSON

Здравствуйте!
Помогите пожалуйста с парсингом JSON
Eсть Json ответ Responce от сервера ниже,
Необходимо достать стоимость cost

Код HTML:
{ "num": "1", "object": "car", "active": 1, "state": 0, "desc": [ { "model": "audi", "price": { "currency": "EUR", "cost": "8000" }, "color": "red", "equipment": "full" } ], "owner": { "name": "Ivanov", "adress": "First street", "house": "45/1" }, "extra": "none" }


Попробовал своими силам, помогите завершить....

Код HTML:
procedure TFMain.Button1Click(Sender: TObject); var JSonObject: TJSONObject; JSonArray: TJSONArray; begin try JSonObject := TJSONObject.ParseJSONValue(Responce) as JSONObject; JSonArray := JSonObject.GetValue('desc') as TJSONArray; //....... except on E: EJSONException do begin Showmessage(E.Message); end; end;

Последний раз редактировалось Creator13, 11.04.2024 в 18:00.
Ответить с цитированием
  #2  
Старый 08.05.2024, 21:44
Аватар для Electronic_Arts
Electronic_Arts Electronic_Arts вне форума
Местный
 
Регистрация: 13.07.2006
Адрес: на земле
Сообщения: 562
Версия Delphi: Delphi 11
Репутация: 18
По умолчанию

Код:
var
  JSONObj: ISuperObject;
CostValue: string;
begin
  JSONObj := SO('{"num": "1", "object": "car", "active": 1, "state": 0, "desc": [{"model": "audi", "price": {"currency": "EUR", "cost": "8000"}, "color": "red", "equipment": "full"}], "owner": {"name": "Ivanov", "adress": "First street", "house": "45/1"}, "extra": "none"}');
  // Проверяем, существует ли поле "desc" в JSON
  if JSONObj['desc'] <> nil then
  begin
    // Получаем массив объектов desc
    if JSONObj['desc'].AsArray.Length > 0 then
    begin
      // Получаем первый объект в массиве desc
      CostValue := JSONObj['desc'][0].S['price.cost'];
      // Теперь в CostValue содержится значение "cost"
      ShowMessage('Cost: ' + CostValue);
    end;
  end;
end;
__________________
Нет ничего не возможного. Вопрос только во времени...
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:39.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter