我正在尝试将字符串传递给json对象,并且它可以正常工作。然而,在json中有一些反斜杠和双引号!我该如何删除它们?
我正在使用c#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;
}
当我在控制器中返回此函数时,我得到的结果如下
" {\"状态\":\"成功\"}"
答案 0 :(得分:5)
这种情况正在发生,因为您手动将数据序列化为JSON(在代码中),当您从控制器返回数据时,框架再次序列化相同的东西,这已经是一个json格式的字符串!
要解决此问题,只需不要将其序列化,让MVC/Web API
框架完成其工作并从您的对象中创建JSON
。
如果您正在使用Web API
像这样使用
[HttpGet]
public object jsonvalues()
{
var x = new
{
status = "Success"
};
return x;
}
如果您使用MVC
,请像这样使用
[HttpGet]
public ActionResult jsonvalues()
{
var x = new
{
status = "Success"
};
return Json(x, JsonRequestBehavior.AllowGet);
}
两者都将返回
{status:“成功”}