最后,解决此问题。与你们分享。
根本原因:
我的猜测是这是双重序列化问题。看来 ASP.NET Web API 2框架将为我们自动进行序列化
。这就是为什么我
SerializeObject再加
Debug.Write(json)上字符串都能很好地工作的原因。
string json = JsonConvert.SerializeObject(rs); Debug.Write(json);
但是在提琴手调用了Web API之后,Web
API返回了带有无效json(“)的响应,正如我上面所说的。在其他客户端(例如ios,android设备)上也是如此。
因为网络api为我执行了序列化,并且我进行了额外的显式序列化,这也
string json =JsonConvert.SerializeObject(rs);意味着我运行了另一个不需要的parseJson。
根据我在这里的问题,我只是直接将未序列化的对象放在
CreateResponse方法中。
Request.CreateResponse(HttpStatusCode.Created,rs);并返回该fidder和其他客户端的有效json。
我该如何解决此问题: Request.CreateResponse(HttpStatusCode.Created,rs);
public static class CommonUtility { // format response string public static ResponseString FormatResponseString(int pre, string idName, long idValue, string message) { ResponseString rs = new ResponseString(); rs.pre = pre; rs.idName = idName; rs.idValue = idValue; rs.message = message; return rs ; } } public class ResponseString { public int pre; public string idName; public long idValue; public string message; }并在控制器中
ResponseString rs = new ResponseString(); rs = CommonUtility.FormatResponseString(0, "pacelId", returnPacelId, "Succeed,created items in db success"); return Request.CreateResponse(HttpStatusCode.Created, rs);



