WebClient.DownLoadString正在添加\";在我的JSON数据元素前面。如何在没有\";的情况下将其解析为普通JSON;?

WebClient.DownLoadString正在添加\";在我的JSON数据元素前面。如何在没有\";的情况下将其解析为普通JSON;?,json,asp.net-mvc-3,c#-4.0,getjson,restful-url,Json,Asp.net Mvc 3,C# 4.0,Getjson,Restful Url,我正在尝试访问MVC应用程序中的REST服务。我正在调用getJSON方法从控制器获取数据,该控制器内部调用REST服务,该服务以json格式返回数据。但是我得到了大量“\在我的DownLoadString方法的输出中,我的返回Json没有返回正确的Json数据,因此我的客户端脚本无法访问Json属性 在我看来,我的脚本是 $.getJSON("@Url.Action("GetManufacturers", "Home")",function(data){ console.debug(

我正在尝试访问MVC应用程序中的REST服务。我正在调用
getJSON
方法从控制器获取数据,该控制器内部调用REST服务,该服务以json格式返回数据。但是我得到了大量
“\
在我的
DownLoadString
方法的输出中,我的返回Json没有返回正确的Json数据,因此我的客户端脚本无法访问Json属性

在我看来,我的脚本是

$.getJSON("@Url.Action("GetManufacturers", "Home")",function(data){
     console.debug("Status is : "+data.Status)
});
我的动作方法是这样的

public ActionResult GetManufacturers()
{          
        string restURL ="http://mytestserver/myapi/Manufacturers";
        using (var client = new WebClient())
        {               
            var data = client.DownloadString(restURL); 

           //data variable gets "\" everywhere
            return Json(data,JsonRequestBehavior.AllowGet);                      
        }   
}
我在我的操作方法中使用了visual studio断点,我看到了很多
\“

我检查了我的
getJSON
回调的结果,JSON选项卡是空的。 但是我的回复标签有这样的内容

public ActionResult GetManufacturers()
{          
        string restURL ="http://mytestserver/myapi/Manufacturers";
        using (var client = new WebClient())
        {               
            var data = client.DownloadString(restURL); 

           //data variable gets "\" everywhere
            return Json(data,JsonRequestBehavior.AllowGet);                      
        }   
}

我相信如果没有\“,我将能够很好地解析它

我使用fiddler查看我是否从REST服务中获得了正确的(JSON格式)数据,这似乎很好


有人能帮我解决这个问题吗?我想从我的操作方法返回正确的JSON。有时我可能想阅读C代码本身中的json属性。我看到了一些使用
DataContractJsonSerializer
的示例。但这需要转换为一个具体的类型。我不想那样做。因为其他客户端也会访问我的RESTService,那么他们如何才能为此编写假实体?

您需要按原样返回数据:

public ActionResult GetManufacturers()
{          
    string restURL ="http://mytestserver/myapi/Manufacturers";
    using (var client = new WebClient())
    {               
        var data = client.DownloadString(restURL); 
        return Content(data, "application/json");                      
    }   
}

谢谢你,达林。我在客户端用jQueryPost进行了尝试,我在firebub中得到了相同的结果。JSON选项卡中并没有任何内容,Response选项卡中也并没有相同的内容(在我问题的截图中)。