ホームページ >バックエンド開発 >C++ >ASMX Web サービスから純粋な JSON 応答を出力するにはどうすればよいですか?

ASMX Web サービスから純粋な JSON 応答を出力するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-15 09:56:43709ブラウズ

How Can I Output Pure JSON Responses from an ASMX Web Service?

ASMX Web サービスからの純粋な JSON 応答の生成

ASMX Web サービスは、デフォルトで XML データを返します。 ただし、多くのアプリケーションでは JSON 出力が必要です。 ScriptMethod(ResponseFormat = ResponseFormat.Json) を使用すると解決策のように見えるかもしれませんが、実際には JSON を XML コンテナーにラップします。

純粋な JSON 応答を実現するには、ResponseFormat プロパティの使用を避け、代わりに JSON 文字列を HttpResponse オブジェクトに直接書き込みます。 このアプローチでは、XML ラッパーが不要になり、クリーンな JSON データが提供されます。 void 戻り値の型を使用し、JSON 文字列を直接記述するように WebMethod を変更します。

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

HttpContext.Current.Response.ContentType = "application/json"; が追加されていることに注意してください。この行は重要です。正しいコンテンツ タイプ ヘッダーを設定し、クライアントが応答を JSON として正しく解釈できるようにします。 この方法では、外部ライブラリやツールを必要とせずに、ASMX から純粋な JSON 応答を作成できます。

以上がASMX Web サービスから純粋な JSON 応答を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。