我试图将字符串传递给json对象,并且它可以工作。但是json中有一些反斜杠和双引号!如何删除它们?
我正在使用c#Web API。这是我的代码。
Web API
public string jsonvalues() { var x = new { status = "Success" }; var javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); var jsonString = javaScriptSerializer.Serialize(x); return jsonString; }
当我在控制器中返回此函数时,我得到的结果是这样的
“ {\”状态\“:\”成功\“}”
发生这种情况是因为您正在手动(以代码形式)将数据序列化为JSON,并且当您从控制器返回数据时,框架再次序列化了相同的东西,它已经是json格式的字符串了!
为了解决这个问题,只需 不对其进行序列化 ,让MVC/Web API框架完成其工作并JSON从您的对象中创建对象即可。
MVC/Web API
JSON
如果您Web API使用这样的用法
[HttpGet] public object jsonvalues() { var x = new { status = "Success" }; return x; }
如果您使用MVC,请像这样使用
MVC
[HttpGet] public ActionResult jsonvalues() { var x = new { status = "Success" }; return Json(x, JsonRequestBehavior.AllowGet); }
两者都会回来
{状态:“成功”}