Newtonsoft序列化与ASP.NET序列化



如果我有一个简单的类:

public class UserId
{
    public string Id { get; set; }
}

然后我将其传递给httprequest.createresponse()输出为:

{ "id": "1234bcf6678" }

但是,如果我使用jsonserializer,我会得到:

"{ "id": "1234bcf6678" }"

我知道第二个是一个有效的json字符串,但是我如何使用jsonserializer并将结果从中传递给httprequest.createresponse()以获取第一个输出(即没有逃脱的报价)的方式?

我知道有一个相关的问题,但是我想使用newtonsoft Serialializer,因为它允许我正确处理序列化某些通用列表和派生对象。

对于额外的上下文,可能值得知道我在Azure功能中进行此操作。我看到Web API具有System.Web.Http.GlobalConfiguration可用,但不确定功能可以。

使用jsonserialializer并返回结果字符串时,它被序列化为JSON 再次。您必须绕过HttpRequest.CreateResponse()扩展方法,并手动创建响应 - 这样,您可以自己设置内容和内容类型。一个有用的起点是查看CreateResponse的源代码(围绕332行)。您将使用StringContent,而不是使用ObjectContent<T>,并使用媒体类型的"应用程序/JSON"。

相关内容

  • 没有找到相关文章

最新更新