|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.08.2009, 00:56 | #1 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Составление "списка" из строки
Имеется такая строка (вся строка без пробелов)
{"user":{"id":ХХХХХХХХ},"friends":{ "count":0},"messages":{"count":0}," events":{"count":0},"groups":{"coun t":0},"photos":{"count":0},"videos" :{"count":0},"notes":{"count":0},"o ffers":{"count":0},"questions":{"co unt":0},"gifts":{"count":0},"activi ty":{"updated":0}} Например в Memo, надо вывести такой список: id = ХХХХХХХХ friends = 0 messages = 0 и т.д. (з.ы. вместо 0 могут быть любые другие числа). Кто может подсказать как это сделать? Как я понимаю надо воспользоваться функциями для работы со строками, но я не могу понять логику как вытащить, то что мене надо. Если можно пример начала сего, а дальше уже я может разберусь.
Будь проще и люди к тебе потянутся
Последний раз редактировалось spamer; 25.08.2009 в 00:59. |
25.08.2009, 01:29 | #2 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Если точно известны имена полей (friends, messages...), то ищете pos'ом поле, затем второе двоеточие после найденной позиции. И берете строку от этого двоеточия до символа '}'. Преобразовываете в число (если нужно).
Если названия полей заранее неизвестны: ищете первое двоеточие и берете строку до второго - это название поля. Далее как в первом варианте. После этого снова ищете двоеточие.... Тут удобно использовать posEx (нужно подключить StrUtils) вместо обычного pos'а.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
25.08.2009, 01:46 | #3 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
RegExp очень полезная вещь...
|
25.08.2009, 02:27 | #4 | |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Названия полей заранее известны.
Вот получил я три первых поля вот так: Код:
З.Ы. Цитата:
Будь проще и люди к тебе потянутся
|
|
25.08.2009, 03:23 | #5 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Неправильно делаете вот что:
вы находите символ '}', но вместо того, чтобы использовать это, копируете ровно 1 символ. Надо так: Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
25.08.2009, 03:37 | #6 |
Форумчанин
Регистрация: 19.06.2009
Сообщений: 896
|
Процедурка и пример её использования:
Код:
id = ХХХХХХХХ friends = 0 messages = 0 events = 0 coun t = 0 photos = 0 videos = 0 notes = 0 o ffers = 0 co unt = 0 gifts = 0 updated = 0 адд: было сказанно что в строке нету пробелов..... Но они там почемуто есть. Вот например в исходной строке слово сount с пробелом.... Если такое произойдёт, то имя поля (которое должно было вывестись) замениться на count. Тобишь нужно сначала будет пробежаться по строке и удалить все пробелы. Последний раз редактировалось Вавел из ГМТУ; 25.08.2009 в 03:46. |
25.08.2009, 11:54 | #7 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Sazary, Вавел из ГМТУ - спасибо обоим.
Будь проще и люди к тебе потянутся
|
25.08.2009, 12:15 | #8 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Кажись это JSON, там структура может быть сложнее (вложенные конструкции). Есть куча готовых парсеров, http://sourceforge.net/projects/lkjson/ например
пыщь
|
25.08.2009, 12:23 | #9 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
JTG я получаю запрос с сайта (именно такую строку). и мене надо просто вывести статистику вот эту. Все решилось.
З.Ы. А на счет JSON почитаю, что за сие такое.
Будь проще и люди к тебе потянутся
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" | aleksei78 | Microsoft Office Excel | 13 | 25.08.2009 12:04 |
как разделить данные в одной ячейке, которые разделены ";", на строки? | Margaritka | Microsoft Office Excel | 2 | 10.03.2009 20:16 |
Неполные строки "едут" в MS Word 2007 при изменении масштаба. | mirotvoretc | Microsoft Office Word | 12 | 05.03.2009 12:07 |
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body | tabikA | HTML и CSS | 5 | 24.02.2009 21:50 |
Под прикрытием "кризиса" наши доблестные "управители" хотят утопить нас в радиоактивных отходах | mihali4 | Свободное общение | 1 | 17.01.2009 01:43 |