Génération de réponses JSON à partir des services Web ASMX
Vous travaillez avec un service Web ASMX et vous en avez besoin pour renvoyer des données JSON au lieu du XML par défaut. Même après avoir défini la propriété ResponseFormat
, vous obtenez toujours du XML.
La solution consiste à contourner le processus de sérialisation ASMX standard et à écrire le JSON directement dans la réponse HTTP. Cela nécessite de changer le type de retour de WebMethod en void
.
Voici comment modifier votre code :
<code class="language-csharp"> [System.Web.Script.Services.ScriptService] public class WebServiceClass : System.Web.Services.WebService { [WebMethod] public void WebMethodName() { string jsonString = "{property: value}"; // Your JSON string here HttpContext.Current.Response.ContentType = "application/json"; HttpContext.Current.Response.Write(jsonString); } }</code>
Ce code révisé génère directement la chaîne JSON, évitant le wrapper XML généré par la sérialisation ASMX par défaut. N'oubliez pas de remplacer "{property: value}"
par vos données JSON réelles. La définition de l'en-tête ContentType
garantit que le client interprète correctement la réponse au format JSON.
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!