我有一个“数据”模型,其中包含一些布尔值和字符串。我希望此模型返回HttpResponseMessage。目前,我正在这样做:
def self.john_or_smith
where(name: "John").or(where(lastname: "Smith"))
end
这将导致以下JSON输出If
。但是我需要它是string JSON = JsonConvert.SerializeObject(Data);
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, JSON);
return response;
。
但是,如果我仅在"{\"\"}"
之前显示JSON,就好像{""}
一样,而且我似乎不知道是什么导致输出格式更改。有谁知道这是什么原因以及如何解决?
在我看来,JSON已“字符串化”,但为什么我不知道。
我正在使用NewtonSoft。
答案 0 :(得分:0)
之所以会发生这种情况,是因为Web API框架具有内置的序列化功能,并且您正在此基础上手动序列化数据。这种双重序列化会导致您在响应JSON中看到多余的反斜杠和引号。
要修复代码,请删除对SerializeObject
的调用,然后将Data
对象直接传递给Request.CreateResponse
,如下所示:
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, Data);
return response;