Форум программистов, компьютерный форум, киберфорум
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/137: Рейтинг темы: голосов - 137, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 03.07.2010
Сообщений: 17

Работа с JSON

03.07.2010, 18:11. Показов 25749. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!)
Такая проблемка:
С помощью потока авторизуюсь на сайте методом Post, компонент idHTTP, и возвращаемую строку присваиваю переменной
Сервер возвращает JSON-массив
Для работы с ним использую модуль uLkJSON
Парсирую текст, вытаскиваю нужные мне значения в Memo и тут возникает проблема
Если значение в JSON содержит русские буквы, то они отображаются как знаки вопросов
Надеюсь на вашу помощь)
Вот код:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
....
var
  js:TlkJSONobject;
  s: string;
  nick,pass: String;
  stream: TStringStream;
....
begin
js := TlkJSONobject.Create;
  stream:=TStringStream.Create;
  nick := Edit1.Text;
  pass := Edit2.Text;
  stream.WriteString('u='+nick+'&p='+pass);
  s := (IdHTTP1.Post('http://.....',stream));
  js := TlkJSON.ParseText(s) as TlkJSONobject;
  Memo1.Lines.Add(js.getString('user_id'));
  Memo1.Lines.Add((js.getString('username')));
  Memo1.Lines.Add(js.getString('new_pm'));
  Memo1.Lines.Add(js.getString('unread_pm'));
  js.Free;
....
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2010, 18:11
Ответы с готовыми решениями:

Работа с Json. Нужно 3 координаты вывести в отдельный Json файл и вызвать его при нажатии на кнопку.
Здравствуйте дорогие форумчане. Нужна ваша помощь, в массиве имеется три координаты и их описание которые при наведение на них...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException'...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {"name":"value"}) into type 'System.Collections.Generic.List`1'...

27
0 / 0 / 0
Регистрация: 03.07.2010
Сообщений: 17
03.07.2010, 21:04  [ТС]
Студворк — интернет-сервис помощи студентам
боюсь, что придется ковырять модуль, а там мне мало что понятно(( ну ладно, спасибо
0
 Аватар для Vovan-VE
13210 / 6601 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.07.2010, 21:10
На всякий случай, проверьте, что в 15й строке в s получается. Скорее всего, бред уже там получается.
0
0 / 0 / 0
Регистрация: 03.07.2010
Сообщений: 17
03.07.2010, 21:16  [ТС]
ну там-то русский
а как узнать кодировку?
0
 Аватар для Vovan-VE
13210 / 6601 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
03.07.2010, 21:21
Если там правильные буквы и читабельный текст, то TIdHTTP.Post() правильно работает. На выхлопе в s получается юникодовая строка. А вот TlkJSON.ParseText() умеет правильно работать с WideString? Попробуйте 16ю строку
Delphi
1
js := TlkJSON.ParseText(AnsiString(s)) as TlkJSONobject;
0
0 / 0 / 0
Регистрация: 03.07.2010
Сообщений: 17
03.07.2010, 21:31  [ТС]
выдает печатные знаки вопросов(
0
0 / 0 / 0
Регистрация: 03.07.2010
Сообщений: 17
09.07.2010, 19:32  [ТС]
вопрос снят, всем спасибо) взял другой модуль
если кому нужно - используйте не ulkJSON, а uJSON, он круче
0
0 / 0 / 0
Регистрация: 09.04.2012
Сообщений: 23
07.12.2013, 20:46
подниму пожалуй старую тему, я не смог разобраться как сделать парсер на uJSON, если можете подскажите пожалуйста
0
0 / 0 / 0
Регистрация: 13.01.2013
Сообщений: 4
07.08.2015, 16:42
меняем
Delphi
1
2
3
1832 {$ifdef USE_D2009}
1833      js.FValue := UTF8ToString(ws);
1834 {$else}
на
Delphi
1
2
3
1832 {$ifdef USE_D2009}
1833      js.FValue :=ws;
1834 {$else}
больше модуль не портит текст
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.08.2015, 16:42

Java, JSON и JSON Simple. Непонятка с созданием объекта JSON на сервере для отправки на фронт
Здравствуйте. Разрабатываю интернет-магазин на Java. Мне нужно на фронте получить список товаров из базы данных для отображения на...

Работа с Json
Здравствуйте, тут небольшой вопрос возник. Как управлять напрямую с json. Просто раньше я для того чтобы формировать и...

Работа с JSON
Всем здравствуйте. Хочу разобраться как использовать Json на простом примере. Например есть программа вычисляющая сумму двух чисел и...

Работа с JSON
Всем привет. Помогите пожалуйста разобраться с обменом данными с помощью JSON. На сервере php скрипт отдает такой JSON ...

Работа с JSON
Может кто сталкивался м знает как? мне надо результат по двум массивам разложить! $http({method: 'GET', url:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru