一尘不染

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

json

我试图将字符串传递给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;
}

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

“ {\”状态\“:\”成功\“}”


阅读 654

收藏
2020-07-27

共1个答案

一尘不染

发生这种情况是因为您正在手动(以代码形式)将数据序列化为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);
}

两者都会回来

{状态:“成功”}

2020-07-27