NET MVC Web API,我创建了一个Response类,以便All Routes返回相同的响应模式,
[DataContract]
public class Response
{
[DataMember]
public string ResponseMessage { get; set; }
[DataMember]
public int ResponseCode { get; set; }
[DataMember]
public object ResponsePayload { get; set; }
}
我从所有路由调用APIResponse方法返回Response,每当我在下面的函数的对象responseObj param中传递DataTable或DataSet时,我必须使用ADO.NET DB Access层,:))
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 param是DataSet类型,那么我会得到不需要的引号和反斜杠(就像在PHP中一样,如果在服务器上启用了Magic Quotes),它会产生无效的JSON, 你能帮我解决这个问题吗,删除这些斜杠,
示例JSON:
"{\"ResponseMessage\":\"Success\",\"ResponseCode\":200,\"ResponsePayload\":{\"StatusList\":[{\"StatusId\":1,\"Status\":\"To Be Dispatched\", ...........
答案 0 :(得分:1)
你应该定义你喜欢这个
public IEnumerable<string> Get(int id1)
public List<Response> Get( int id1)
而不是
public string Get(int id1)