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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2020, 14:19   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию Плюсы вместо пробелов в JSON

Приходит JSON
Код:
"shortDescription": "\u042D\u0442\u043E+\u0432\u0438\u0434\u0435\u043E+-+\u043E\u0442\u0432\u0435\u0442+\u043D\u0430+\u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435+\u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0438,+\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0435+\u043A+\u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u043C\u0443+\u0440\u043E\u043B\u0438\u043A\u0443+\u043F\u0440\u043E+\u043D\u043E\u0443\u0442+Prestigio.\nhttp:\/\/16-bits.ru",
После TIdURI.URLDecode() получаем:
Код:
"shortDescription": "Это+видео+-+ответ+на+некоторые+комментарии,+оставленные+к+предыдущему+ролику+про+ноут+Prestigio.\nhttp:\/\/16-bits.ru",
Как правильно декодировать, чтобы вместо плюсов были пробелы? Если использовать StringReplace, то есть риск заменить плюсы там, где они реально нужны. А ещё StringReplace ломает длинные JSON'ы.
BLACK_RAIN вне форума Ответить с цитированием
Старый 08.12.2020, 07:19   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 951
По умолчанию

BLACK_RAIN, обычно нужно средствами местного модуля json достать строку из ключа "shortDescription"

Или вручную парсишь json ? o_O

--аа, всё, я не про то подумал. Не то ответил

Последний раз редактировалось Алексей1153; 08.12.2020 в 07:21.
Алексей1153 вне форума Ответить с цитированием
Старый 08.12.2020, 07:40   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Предположу, что нужно заменить все плюсы на пробелы до декодирования. Нужно посмотреть, как выглядят полезные плюсы до декодирования - мне кажется, они будут закодированы.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 08.12.2020, 07:44   #4
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 951
По умолчанию

вроде в URL не может быть плюсов - например, хром заменяет их на %2B

то есть - можно тупо плюсы на пробел заменить

а если есть возможность исправить отправителя json, то надавать ему лещей лучше передавать урлу в base64
Алексей1153 вне форума Ответить с цитированием
Старый 15.12.2020, 09:10   #5
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Нужно посмотреть, как выглядят полезные плюсы до декодирования
Нашёл на ютубе вот такое видео: https://www.youtube.com/watch?v=H-1vG5P_Wcc
Там в названии есть нужный плюс.
API выдаёт строчку:
Код:
%22title%22%3A%2221.01+%D0%9A%D0%B0%D0%BA+%D1%81%D0%B4%D0%B0%D1%82%D1%8C+%D0%95%D0%93%D0%AD+%D0%BD%D0%B0+80++%D0%B1%D0%B0%D0%BB%D0%BB%D0%BE%D0%B2+%D0%BF%D0%BE+%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D0%B8+I+%D0%9E%D0%B1%D1%8A%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5+%D0%B7%D0%B5%D0%BC%D0%B5%D0%BB%D1%8C.+%D0%98%D0%B2%D0%B0%D0%BD+%D0%93%D1%80%D0%BE%D0%B7%D0%BD%D1%8B%D0%B9.+%D0%9A%D1%83%D0%BB%D1%8C%D1%82%D1%83%D1%80%D0%B0.%22
Как не потерять этот плюс после 80? Должны же быть штатные функции для работы с такими кодировками.
BLACK_RAIN вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Pascal ABC] в заданной строке вместо первого символа поставить пробел а вместо последнего точку Sadnsassy1 Паскаль, Turbo Pascal, PascalABC.NET 15 03.06.2018 14:09
Работа с JSON (System.JSON) nibufep Общие вопросы Delphi 3 19.04.2016 18:21
JSON Exception [org.apache.json] spectrum988 Помощь студентам 3 11.12.2015 09:25
Вместо русского текста символы - после переустановки Windows в файлах мусор вместо русских букв. МАРИННН Windows 14 13.10.2013 08:53