Maison >développement back-end >C++ >Comment puis-je générer des réponses JSON pures à partir d'un service Web ASMX ?
Génération de réponses JSON pures à partir des services Web ASMX
Les services Web ASMX, par défaut, renvoient des données XML. Cependant, de nombreuses applications nécessitent une sortie JSON. Bien que l'utilisation de ScriptMethod(ResponseFormat = ResponseFormat.Json)
puisse sembler une solution, elle enveloppe en fait le JSON dans un conteneur XML.
Pour obtenir des réponses JSON pures, évitez d'utiliser la propriété ResponseFormat
et écrivez plutôt directement la chaîne JSON dans l'objet HttpResponse
. Cette approche élimine le wrapper XML et fournit des données JSON propres. Modifiez votre WebMethod pour utiliser un type de retour void
et écrivez directement la chaîne JSON :
<code class="language-csharp">[System.Web.Script.Services.ScriptService] public class WebServiceClass : System.Web.Services.WebService { [WebMethod] public void WebMethodName() { HttpContext.Current.Response.ContentType = "application/json"; //Crucial for correct content type HttpContext.Current.Response.Write("{ \"property\": \"value\" }"); } }</code>
Notez l'ajout de HttpContext.Current.Response.ContentType = "application/json";
. Cette ligne est cruciale ; il définit l'en-tête de type de contenu correct, garantissant que le client interprète correctement la réponse en JSON. Cette méthode permet de créer des réponses JSON pures à partir d'ASMX sans avoir besoin de bibliothèques ou d'outils externes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!