ASMX Web サービスからの JSON 応答の生成
ASMX Web サービスを使用していて、デフォルトの XML の代わりに JSON データを返す必要があります。 ResponseFormat
プロパティを設定した後でも、XML を取得できます。
解決策は、標準の ASMX シリアル化プロセスをバイパスし、JSON を HTTP 応答に直接書き込むことです。 これには、WebMethod の戻り値の型を void
.
コードを変更する方法は次のとおりです:
<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>
この改訂されたコードは、デフォルトの ASMX シリアル化によって生成される XML ラッパーを回避して、JSON 文字列を直接出力します。 "{property: value}"
を実際の JSON データに置き換えることを忘れないでください。 ContentType
ヘッダーを設定すると、クライアントは応答を JSON として正しく解釈できます。
以上がASMX WebMethod から XML の代わりに JSON を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。