2013-05-23 5 views
0

Une question stupide, je sais. Mais je ne fais généralement pas de programmation web et on m'a demandé d'envoyer des données JSON et d'en recevoir en retour. Je ai googlé et il est clair comment encoder et décoder les données JSON, mais je suis si nouveau à cela que je ne sais pas comment communiquer avec l'URL donnée et dire "voici quelques données, s'il vous plaît envoyez-moi arrière".Comment envoyer/recevoir JSON?

Quelqu'un peut-il me signaler un simple exemple de code de travail? Par exemple, juste pour passer le nom d'utilisateur et le mot de passe comme JSON et pour recevoir une réponse ... Je pense que je devrais utiliser TIdHTTP, mais je ne suis pas sûr de savoir comment l'utiliser avec JSON. J'ai une interface GET et une interface POST.

+1 à @DavidHeffernan mais je ne comprends pas qui transmettre les données JSON compressées avec ma requête ou pour les récupérer dans la réponse. En/de-code est bien, mais en l'ajoutant en tant que paramètres m'a embourbé.

J'apprécierais vraiment un (lien vers un) petit exemple de travail complet. Btw, j'ai seulement XE2 starter edition, donc je n'ai pas de datasnap.

+1

Est-ce que JSON n'est pas pertinent ici? Vous n'avez pas besoin de savoir comment GET et POST? Et il doit y avoir beaucoup d'exemples de faire cela avec Indy. –

+1

Ajoutez le json pour envoyer le corps de la requête d'une requête HTTP POST ou PUT. Recevez JSON dans le corps de la réponse. Recherchez des flux de Réponse en Réponse pour Indy. Serait un exemple, sauf que je dois aller à une réunion et l'exemple devrait être retravaillé d'être serveur à être un client ... –

Répondre

2

Pour le processus JSON via HTTP, jetez un oeil à la question S/O suivante: https://stackoverflow.com/a/15948106/458259

Si votre problème est sur la façon de consommer un service à distance RESTful à Delphes, vous trouverez la réponse.

Mais si vous voulez communiquer entre des applications Delphi utilisant JSON et HTTP, le plus simple est d'implémenter une connexion RESTful Client-Serveur dans Delphi.

Pour la transmission Client-Serveur utilisant JSON et RESTful, jetez un oeil à notre Open Source Synopse mORMot framework. Il effectuera toute la sérialisation JSON et le routage RESTful pour vous.

Il dispose d'un ORM client-serveur (peut-être pas ce dont vous avez besoin ici).

Mais aussi un cadre de SOA en utilisant deux modes:

Vous pouvez choisir l'un ou l'autre mode pour utiliser la communication JSON via HTTP.

Notez que mORMot devrait travailler avec Delphi XE2 Starter Edition, car il n'utilise pas « avancée » caractéristique des éditions Pro/Entreprise/Architecte, comme DB.pas ou DataSnap. Et il vous permettra d'accéder aux bases de données, même avec une édition de démarrage. En cas de difficultés dues à un élément manquant dans le Starter, n'hésitez pas à signaler le problème sur notre forum.

+0

+1 Merci pour une réponse très complète et informative – Mawg