Как отправить / получить JSON?

Глупый вопрос, я знаю. Но я обычно не занимаюсь веб-программированием, и меня попросили отправить некоторые данные JSON и получить некоторые взамен.

Я гуглил, и стало ясно, как кодировать и декодировать данные JSON, но я настолько новичок в этом, что не знаю, как связаться с данным URL и сказать: "Вот некоторые данные, пожалуйста, отправьте мне их обратно".

Кто-нибудь может указать мне на простой пример работающего кода? Например, просто передать user_name и пароль как JSON и получить ответ... Я думаю, что я должен использовать TIdHTTP, но я не уверен, как использовать его с JSON. У меня есть один интерфейс GET и один POST.

+1 к @DavidHeffernan, но я не понимаю, кому передать упакованные данные JSON с моим запросом или получить их из ответа. En/de-code - это хорошо, но добавление его в качестве параметров застопорило меня.

Я действительно был бы признателен (ссылка на) небольшой, но полный рабочий пример.

Кстати, у меня есть только XE2 Starter Edition, поэтому у меня нет данных.

1 ответ

Решение

Для процесса JSON через HTTP взгляните на следующий вопрос S/O: /questions/40021979/poluchenie-dannyih-json-s-veb-sajta-s-ispolzovaniem-delphi/40021988#40021988

Если ваша проблема заключается в том, как использовать удаленную службу RESTful в Delphi, вы найдете ответ.

Но если вы хотите обмениваться данными между приложениями Delphi, используя JSON и HTTP, проще всего реализовать RESTful-клиент-серверное соединение в Delphi.

Для передачи клиент-сервер с использованием JSON и RESTful ознакомьтесь с нашей платформой Open Source Synopse mORMot. Он выполнит всю сериализацию JSON и маршрутизацию RESTful за вас.

Он имеет клиент-серверную ORM (возможно, не то, что вам нужно здесь).

Но также и SOA-фреймворк, использующий два режима:

Вы можете выбрать любой режим, чтобы использовать связь JSON через HTTP.

Обратите внимание, что mORMot, как ожидается, будет работать с версией Delphi XE2 для начинающих, поскольку он не использует никаких "расширенных" функций версий Pro/Entreprise/Architect, таких как DB.pas или DataSnap. И это позволит вам получить доступ к базам данных, даже с версией для начинающих. В случае возникновения проблем из-за отсутствия чего-либо в Starter, пожалуйста, не стесняйтесь сообщать о проблеме на нашем форуме.

Другие вопросы по тегам