Как отправить / получить 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, пожалуйста, не стесняйтесь сообщать о проблеме на нашем форуме.