如何防止Web API将我的模型从JSON序列化为字符串

问题描述 投票:1回答:1

如何控制JSON序列化而不是让Web API序列化我的模型?

目前生成的字符串是双序列化的,因为我这样做并且web api正在执行它。

public HttpResponseMessage GetUsers()
{
    var users = _service.GetUsers()
    var model = new UserResponse(users);

    var json = JsonConvert.SerializeObject(model);


    return Request.CreateResponse(HttpStatusCode.OK, json, Configuration.Formatters.JsonFormatter);
}

我将添加一些自定义,所以我需要控制这个JSON序列化部分。

c# asp.net-mvc asp.net-web-api
1个回答
3
投票

你可以试试这个

public HttpResponseMessage GetUsers()
{
    var users = _service.GetUsers()
    var model = new UserResponse(users);

    var json = JsonConvert.SerializeObject(model);
    var response = this.Request.CreateResponse(HttpStatusCode.OK);
    response.Content = new StringContent(json , Encoding.UTF8, "application/json");
    return response
}

要么

public IHttpActionResult GetUsers()
{
    var users = _service.GetUsers()
    var model = new UserResponse(users);
    return Ok(model);
}

要么

public UserResponse GetUsers() 
{
    var users = _service.GetUsers()
    var model = new UserResponse(users);
    return model;
}
© www.soinside.com 2019 - 2024. All rights reserved.