Передача JSON через URI - PullRequest
       25

Передача JSON через URI

2 голосов
/ 15 апреля 2010

Я пытаюсь создать веб-сервис на основе REST с данными, инкапсулированными с использованием JSON.Моя проблема в том, что когда я передаю строковую версию JSON в URI, она выглядит примерно так:% 7B% 22 уголь% 22: 100,% 22ele% 22: 1500.1% 7D.

Мне интересно,Существуют любые функции Java для преобразования между экранированной и неэкранированной версиями, поэтому я могу проанализировать строку.

Ответы [ 5 ]

1 голос
/ 15 апреля 2010

Да, используйте URLEncoder и / или URLDecoder .

1 голос
/ 15 апреля 2010

Это будет URLDecoder .Но если вы что-то делаете неправильно, вам не нужно его использовать, так как методы в Servlet API в целом возвращают уже декодированные строки.

1 голос
/ 15 апреля 2010

Вы должны отправлять любой контент в теле запроса. Отправлять только параметры запроса в URI.

0 голосов
/ 06 мая 2010

Ваши параметры плоские (без списков / объектов / и т. Д.).

  • Для запросов HTTP GET попробуйте передать данные в качестве параметров запроса вместо закодированного JSON
  • Для запросов HTTP POST у вас не будет проблем с кодировкой JSON
0 голосов
/ 06 мая 2010

Вы не должны декодировать экранированный URL-адрес, веб-сервер делает это самостоятельно, он должен быть полностью прозрачным для вас.

Как уже отмечали некоторые люди, вы используете URLDecode для удаления строки URL

Если в какой-то точке вашего кода вы вручную экранируете строку JSON, возможно, проблема заключается в том, что она кодируется дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...