Web方法无法删除对象{d:“”}

我想要做的不是发送Object { d : "{"FileID":"1213"}" }发送"{"FileID":"1213"}"

我目前的代码:

 using System; using System.Web.Mvc; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Web; using System.Web.Services; using System.Web.Script.Services; using System.Web.Script.Serialization; [ScriptService] partial class testing_class : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Session["FileID"] = Request.QueryString["FileID"]; } public static string returnJSON(object o) { JavaScriptSerializer js = new JavaScriptSerializer(); return js.Serialize(o); } [WebMethod] [ScriptMethod(UseHttpGet = true,ResponseFormat = ResponseFormat.Json)] public static string CurrentFile() { var d = new { FileID = "123" }; return returnJSON(d); } }; 

Microsoft堆栈Json序列化程序已经过时,应该不惜一切代价避免使用。 相反,您应该使用(并且默认情况下已经是新的.NET Web堆栈) Json.NET实现。

如果您没有安装它,可以通过在NuGet控制台窗口中运行Install-Package Newtonsoft.Json来实现。 还要确保你using Newtonsoft.Json;

 [WebMethod] [ScriptMethod(UseHttpGet = true,ResponseFormat = ResponseFormat.Json)] public static string CurrentFile() { var d = new { FileID = "123" }; return JsonConvert.SerializeObject(d); }