我的服務方法:Asmx web服務如何返回JSON而不是XML?
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string getDataFromTrainingMaster()
{
List<TrainingMasterDataStruct> results = new DAL().GetDataFromTrainingMaster();
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Serialize(results).ToString();
}
我的.NET Web服務返回JSON包裹在XML如下:
<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://tempuri.org/"> [{"Training_Code":"1234 ","Training_Duration":"2hrs ","Training_Startdate":"2/14/2013 3:00:00 PM","Training_Enddate":"2/14/2013 5:00:00 PM","Trainer_ID":1,"Training_Location":"B-Wing Training room-4","Comments":"C# training","Keyword":"C#1234","NumberofDays":1},{"Training_Code":"4321 ","Training_Duration":"16 ","Training_Startdate":"2/17/2013 10:30:00 AM","Training_Enddate":"2/17/2013 5:30:00 PM","Trainer_ID":2,"Training_Location":"A-Wing Training Room-6","Comments":"Objective-C","Keyword":"Obj-C4321","NumberofDays":2}]
我需要它的格式如下:
"Training":[{"Training_Code":"1234 ","Training_Duration":"2hrs ","Training_Startdate":"2/14/2013 3:00:00 PM","Training_Enddate":"2/14/2013 5:00:00 PM","Trainer_ID":1,"Training_Location":"B-Wing Training room-4","Comments":"C# training","Keyword":"C#1234","NumberofDays":1},{"Training_Code":"4321 ","Training_Duration":"16 ","Training_Startdate":"2/17/2013 10:30:00 AM","Training_Enddate":"2/17/2013 5:30:00 PM","Trainer_ID":2,"Training_Location":"A-Wing Training Room-6","Comments":"Objective-C","Keyword":"Obj-C4321","NumberofDays":2}]</string>
哪有我這樣做?
你使用什麼樣的技術來創建Web服務? ASP.NET Web API?靜態頁面方法? WCF? – Snixtor 2013-02-19 05:45:34
它的ASP.Net VS2008。 – bapi 2013-02-19 05:57:55
感謝您通過添加您的服務器端代碼來澄清,我看到您正在使用'WebMethod'屬性。這是許多不同的Web服務框架中的一個,因此在提出問題時一定要提及。看起來像在這裏討論(和回答)相同的問題 - http://stackoverflow.com/questions/5611134/responseformat-json-returns-xml – Snixtor 2013-02-19 08:24:12