1

NET MVC Web API,我创建了一个响应类,以便所有路由返回相同的响应模式,

[DataContract]
    public class Response
    {
        [DataMember]
        public string ResponseMessage { get; set; }
        [DataMember]
        public int ResponseCode { get; set; }
        [DataMember]
        public object ResponsePayload { get; set; }        
    }

我正在从所有路由调用 APIResponse 方法以返回响应,每次我会在下面函数的对象 responseObj 参数中传递 DataTable 或 DataSet,我必须使用 ADO.NET DB 访问层,:)

private Object APIResponse(object responseObj, string _message = Constants.RESPONSE_MESSAGE_SUCCESS, int code = _RESPONSE_SUCCESS_CODE)
        {

            Response _response = new Response();
            _response.ResponsePayload = responseObj;
            _response.ResponseMessage = _message;
           _response.ResponseCode = code;

            return Newtonsoft.Json.JsonConvert.SerializeObject(_response);
        }

如果我的 responseObj 参数是 DataSet 类型,那么我会得到不需要的引号和反斜杠(就像在 PHP 中,如果在服务器上启用了魔术引号)会产生无效的 JSON,请您帮我解决这个问题,以删除这些斜杠,

示例 JSON:

"{\"ResponseMessage\":\"Success\",\"ResponseCode\":200,\"ResponsePayload\":{\"StatusList\":[{\"StatusId\":1,\"Status\":\"To Be Dispatched\", ...........
4

1 回答 1

1

你应该像这样定义你的 Get

public IEnumerable<string> Get(int id1)

public List<Response> Get( int id1)

而不是这个

public string Get(int id1)
于 2015-09-12T14:49:36.697 回答