我想要做的不是发送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);
}
};
答案 0 :(得分:3)
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);
}