Heim >Backend-Entwicklung >C++ >Wie kann ich JSON anstelle von XML aus einer ASMX-Webmethode ausgeben?

Wie kann ich JSON anstelle von XML aus einer ASMX-Webmethode ausgeben?

DDD
DDDOriginal
2025-01-15 10:52:43466Durchsuche

How Can I Output JSON Instead of XML from an ASMX WebMethod?

Generieren von JSON-Antworten von ASMX-Webdiensten

Sie arbeiten mit einem ASMX-Webdienst und benötigen, dass dieser JSON-Daten anstelle des Standard-XML zurückgibt. Auch nach dem Festlegen der ResponseFormat-Eigenschaft erhalten Sie immer noch XML.

Die Lösung besteht darin, den standardmäßigen ASMX-Serialisierungsprozess zu umgehen und den JSON direkt in die HTTP-Antwort zu schreiben. Dazu muss der Rückgabetyp der WebMethod in void.

geändert werden

So können Sie Ihren Code ändern:

<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>

Dieser überarbeitete Code gibt die JSON-Zeichenfolge direkt aus und vermeidet so den XML-Wrapper, der durch die standardmäßige ASMX-Serialisierung generiert wird. Denken Sie daran, "{property: value}" durch Ihre tatsächlichen JSON-Daten zu ersetzen. Durch Festlegen des ContentType-Headers wird sichergestellt, dass der Client die Antwort korrekt als JSON interpretiert.

Das obige ist der detaillierte Inhalt vonWie kann ich JSON anstelle von XML aus einer ASMX-Webmethode ausgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn