Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 返回Json,但它包含反斜杠“\”;,_.net_Json_Angularjs_Model View Controller_Asp.net Web Api - Fatal编程技术网

.net 返回Json,但它包含反斜杠“\”;,

.net 返回Json,但它包含反斜杠“\”;,,.net,json,angularjs,model-view-controller,asp.net-web-api,.net,Json,Angularjs,Model View Controller,Asp.net Web Api,我使用的是MVC4WebAPI,下面是我返回数据的方法 [HttpPost] public string GetResults([Body] student params) { return studentSearchService.GetResults(params); } 这是angular公司的服务电话 function Get(){ var Promise = $http.post('studentA

我使用的是MVC4WebAPI,下面是我返回数据的方法

    [HttpPost]
    public string GetResults([Body] student params)
    {
        return studentSearchService.GetResults(params);
    }
这是angular公司的服务电话

         function Get(){
          var Promise = $http.post('studentAPI/GetResults', params)
                .success(function (data) {
          // here backslash added to object
          }) }
这就是它看起来的样子

   "{\"cid\":1,\"model\":\"WT50JB\",\"detail\":\"sdf??\",\"unit\":2,\"time_in\":\"2012-12-11T19:00:00\",\"time_out\":\"2012-12-12T13:00:06.2774691+07:00\",\"time_used_dd\":0.0,\"time_used_hh\":0.0}"

我错过了什么

为什么要从web api返回json字符串?
它知道如何自动将对象序列化为JSON的

无论如何,要将字符串json转换为json,请使用
json.parse

var json = "{\"cid\":1,\"model\":\"WT50JB\",\"detail\":\"sdf??\",\"unit\":2,\"time_in\":\"2012-12-11T19:00:00\",\"time_out\":\"2012-12-12T13:00:06.2774691+07:00\",\"time_used_dd\":0.0,\"time_used_hh\":0.0}";
var parsedJSON = JSON.parse(json);

alert(parsedJSON.cid); // 1

当我这样做的时候,它说cid是未定义的..即使我在控制台中登录,它仍然显示为stringwe不想在服务器端做任何事情,这就是我们返回stringI的原因我只是在这里复制粘贴了我的代码:它可以工作。您不会错过任何东西-您应该从控制器返回一个强类型对象,并将web api保留为序列化部分。“{“cid\”:1,“model\”:“WT50JB\”,“detail\”:“sdf\”,“unit\”:2,“time\”in\“:“2012-12-11T19:00:00\”,“time\u out\”:“2012-12-12T13:00:06.2774691+07:00\,“time\u used\u dd\”,“time\u-used\u-dd\”:0.0,“…time\u-used\HHU;。。这就是它的返回方式。在您给出的示例中尝试上述方法时,它不起作用。当您的JSON生成中出现错误时,JSON将导致您的客户端出现js错误。我是否遗漏了什么?您从服务器获取数据的方法是一个
HttpPost
动词?传递输入参数shmm,在我看来仍然是错误的。无论如何,示例代码都不会告诉我们
'\'
符号来自何处。。。
GetResults()
函数就是发生这种情况的地方。