如何删除json字符串中的反斜杠和双引号

hak*_*eem 3 c# serialization json asp.net-web-api

我试图将字符串传递给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;
}  
Run Code Online (Sandbox Code Playgroud)

当我在控制器中返回此函数时,我得到这样的结果

"{\" 状态\ ":\" 成功\ "}"

Arg*_*a C 5

发生这种情况是因为您手动将数据序列化为JSON(在代码中),当您从控制器返回数据时,框架再次序列化相同的东西,这已经是一个json格式的字符串!

要解决这个问题,只需不要序列化它,让MVC/Web API框架完成它的工作并创建一个JSON对象.

如果您正在使用这样的Web API用途

[HttpGet]
public object jsonvalues()
{
    var x = new
    {
        status = "Success"
    };
    return x;
}
Run Code Online (Sandbox Code Playgroud)

如果您正在使用MVC,请使用这样的方法

[HttpGet]
public ActionResult jsonvalues()
{
    var x = new
    {
        status = "Success"
    };
    return Json(x, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

两者都将回归

{status:"成功"}