-1

私はjsonがデータを返すasp.net Webサービスを持っています。それを呼び出すと、jsonでデータが返されますが、xmlに埋め込まれます。

Web サービスが json だけを返すようにするには、サーバー側で何をすべきですか?

私の.asmxサービスは以下の通りです

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
using System.Text;
using System.Collections;
using System.IO;
using System.Xml;

[WebMethod(Description = "DemoMethod to get Total.")]
public string GetTotal(string a, string b, string c)
{
    List<Hashtable> objMyclass = new List<Hashtable>();
    JSonOutPutProperties jsonProperty = new JSonOutPutProperties();
    // 
    int total = Convert.ToInt32(a) + Convert.ToInt32(b) + Convert.ToInt32(c);
    jsonProperty.Properties.Add("Total", total);
    objMyclass.Add(jsonProperty.Properties);
    //
    JsonOutput objjson = new JsonOutput();
    objjson.objectcount = objMyclass.Count;
    objjson.objectname = "Total";
    objjson.objectvalues = objMyclass;
    //
    JavaScriptSerializer js = new JavaScriptSerializer();
    string strJSON = js.Serialize(objjson);
    return strJSON;
}
4

1 に答える 1

0

メソッドに次の行を追加すると、問題が解決する場合があります。

[WebMethod(Description = "DemoMethod to get Total.")]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public string GetTotal(string a, string b, string c)
{
    ...

また、おそらくget ではなく post を使用していることを確認する必要があります。. Scott Guthrie がjson に関する別の良い投稿をしています

次の質問how-to-let-an-asmx-file-output-jsonまたはその投稿の他のリンクをご覧ください。私はかつて同様の問題を抱えていました。

于 2012-10-27T11:19:34.893 に答える