我使用json返回数据的asp.net webservice,当我调用它时,它在json中返回数据但是将其嵌入到xml中。
我应该在服务器端做些什么来确保我的webservice只返回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;
}
答案 0 :(得分:0)
如果在方法中添加以下行,则可能会解决问题:
[WebMethod(Description = "DemoMethod to get Total.")]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public string GetTotal(string a, string b, string c)
{
...
您可能必须确保使用post instead of get.。 Scott Guthrie有another good post on json
请查看该帖子中的以下问题how-to-let-an-asmx-file-output-json或other links。我曾经a similar problem一次。