在web api中使用JsonRequestBehavior时出错,说无法转换为json.serializer

时间:2017-05-22 18:48:47

标签: json asp.net-mvc asp.net-web-api2

我收到以下编译错误:

cannot convert from 'System.Web.Mvc.JsonRequestBehavior' to 'Newtonsoft.Json.JsonSerializerSettings'

public class PondController : ApiController
{
    public JsonResult Get()
    {
        try
        {
            using (smartpondEntities DB = new smartpondEntities())
            {
                var pond = DB.Temperatures.OrderByDescending(x => x.WaterTemperature).FirstOrDefault();
                return Json(new { success = true, sensorsdata = new { id = pond.WaterTemperature, CurrentTime = pond.CreatedDate } }, JsonRequestBehavior.AllowGet);
            }
        }
        catch (Exception Ex)
        {
        }
        return Json(new { success = false }, JsonRequestBehavior.AllowGet);
    }
}

1 个答案:

答案 0 :(得分:0)

您正在尝试在ASP.NET WebAPI控制器中使用ASP.NET MVC中的代码段。在WebAPI中,结果和方法具有不同的签名。请尝试以下方法:

public JsonResult<object> Get()
{
    try
    {
        using (smartpondEntities DB = new smartpondEntities())
        {
            var pond = DB.Temperatures.OrderByDescending(x => x.WaterTemperature).FirstOrDefault();
            return Json((object)new { success = true, sensorsdata = new { id = pond.WaterTemperature, CurrentTime = pond.CreatedDate } });
        }
    }
    catch (Exception Ex)
    {
    }
    return Json((object)new { success = false });
}