Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2015, 00:53   #1
ffirstal4
 
Регистрация: 12.08.2014
Сообщений: 5
По умолчанию Парсинг JSON и занос его к stringgrid

Доброго времени суток. Ребята подскажите как можно спарсить JSON вида

[
{
"id":"62",
"dateOn":"2015-03-16",
"timeOn":"15:06:16",
"Barcode":"4606453849072"
},
{
"id":"63",
"dateOn":"2015-03-16",
"timeOn":"15:06:16",
"Barcode":"4606453849072"
},
{
"id":"64",
"dateOn":"2015-03-16",
"timeOn":"15:06:16",
"Barcode":"4606453849072"
},
{
"id":"65",
"dateOn":"2015-03-16",
"timeOn":"15:06:16",
"Barcode":"4606453849072"
},
{
"id":"66",
"dateOn":"2015-03-16",
"timeOn":"15:06:16",
"Barcode":"4606453849072"
},
{
"id":"67",
"dateOn":"2015-03-16",
"timeOn":"20:25:52",
"Barcode":"1"
}
]

и построчно записать в stringgrid. Хотя записать в stringgrid я сам смогу а вот не могу понять как спарсить. Заранее буду очень признателен любой подсказке.
ffirstal4 вне форума Ответить с цитированием
Старый 17.03.2015, 00:56   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Сморите в сторону JSON SuperObject
Человек_Борща вне форума Ответить с цитированием
Старый 17.03.2015, 00:58   #3
ffirstal4
 
Регистрация: 12.08.2014
Сообщений: 5
По умолчанию

Спасибо разобрался таким способом

Код:
var
  r: TRegExpr;
begin
  StringGrid1.Cols[0].Add('id');
  StringGrid1.Cols[1].Add('dateOn');
  StringGrid1.Cols[2].Add('timeOn');
  StringGrid1.Cols[3].Add('Barcode');

  r := TRegExpr.Create;
  r.Expression := '"id":"(.*?)"'; // id
    if r.Exec(Memo1.text) then
    repeat
      StringGrid1.Cols[0].Add(r.Match[1]);
    until not r.ExecNext;

   r.Expression := '"dateOn":"(.*?)"'; // dateOn
    if r.Exec(Memo1.text) then
    repeat
      StringGrid1.Cols[1].Add(r.Match[1]);
    until not r.ExecNext;

      r.Expression := '"timeOn":"(.*?)"'; // timeOn
    if r.Exec(Memo1.text) then
    repeat
      StringGrid1.Cols[2].Add(r.Match[1]);
    until not r.ExecNext;

      r.Expression := '"Barcode":"(.*?)"'; // Barcode
    if r.Exec(Memo1.text) then
    repeat
      StringGrid1.Cols[3].Add(r.Match[1]);
    until not r.ExecNext;
   r.Free;
ffirstal4 вне форума Ответить с цитированием
Старый 17.03.2015, 10:36   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

глянь-ка вот:
JSON delphi library v.1.05
By Leonid Koninin. This is a Delphi library implementing JSON (XML alternative) data format and objects structure. Lightweight and fast.
Скачать.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг в stringGrid CrystalDF Общие вопросы Delphi 8 17.02.2015 21:39
Что такое отладчик с чем его едят и как его использовать Dimka-novitsek Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 20.03.2014 17:59
Парсинг массива в json C_R_E_S_C_H Общие вопросы Delphi 0 12.05.2012 23:39
Файл на сайте и как узнать его modified без скачивания его celovec Работа с сетью в Delphi 2 06.09.2011 16:30
Прочитать непонятный файл в StringGrid для дальнейшей работы с его содержимым itexy Фриланс 4 08.06.2011 11:14