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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.04.2020, 15:01
pikabu pikabu вне форума
Прохожий
 
Регистрация: 27.12.2017
Сообщения: 30
Версия Delphi: 10.1
Репутация: 10
По умолчанию Json данные

Есть сайт, по api получаю json используя idhttp, затем используя парсинг заполняю листобксы и уже из них заполняю listview, по столбцам, нужными мне данными. Проблема в том, что не все данные напрямую получаются, есть то что содержится в meta / тоесть ссылка на еще одни данные.

PHP код:
"Data" 01.01.2020// Это забираю в 1 колонку listview
    
"store" : {
      
"meta" : {
        
"href" "https://blablalba",
        
"sum" "10000"// Это в 2 колонку listview
      
}
    },
    
"agent" : {
      
"meta" : {
        
"href" "https://blalbalba/30b2a1f9-634e-11ea-0a87-05528886ee87"// Тут забираю ссылку в колонку 3 listvew
        
"type" "counterparty",
        
"mediaType" "application/json",


получается так:
Screenshot_5.png

В тех ссылках что в 3 столбце, есть
PHP код:
"name" "Значение"
Которое мне нужно помещать в листвью вместо этих ссылок.

Я так понимаю нужно, как-то используя цикл пройтись по всем ссылкам, а потом заменить значения в столбце, но не могу понять как.

Либо загрузить по api, json, где есть все ссылки и значения "Name", потом сверять и менять их в листвью....
Короче я запутался
Ответить с цитированием
  #2  
Старый 01.05.2020, 06:45
pikabu pikabu вне форума
Прохожий
 
Регистрация: 27.12.2017
Сообщения: 30
Версия Delphi: 10.1
Репутация: 10
По умолчанию

Пробую так
Код:
var
i: integer;
s: string;
begin
IdHTTP1.Request.BasicAuthentication := True;
IdHTTP1.Request.Username :='login';
IdHTTP1.Request.Password:='password';
For i:=0 to slistbox3.Items.Count-1 do begin
 s:=IdHTTP1.get('https://blalbalba/counterparty/'+sListBox3.Items[i]);
  Memo1.Lines.Append(s);
      ParseStr(Memo1.text, '"name" : "', '",', sListBox4.Items);
end;

Данные получаю по ссылкам, но идет затроение Результат записывается три раза в listbox, почему?

P.S. понял, добавил в конец Memo1.text:='' теперь норм. Осталось только заменить все ссылки в листвью на значения из listbox4

Последний раз редактировалось pikabu, 01.05.2020 в 07:23.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter