API在代码中返回有效的JSON,但在浏览器中返回无效的JSON

时间:2017-08-23 17:23:41

标签: c# json api

我有一个非常简单的API方法,如下所示:

G161

在WebAPIConfig中使用它:

public string Get(int id)
{
    Doors door = (Doors)Repository<Doors>.Get(id);
    string d = JsonConvert.SerializeObject(door);
    return d;
}

当我在config.Formatters.JsonFormatter.SupportedMediaTypes .Add(new MediaTypeHeaderValue("text/html")); 上设置断点时,我明白了:

d

这一切都很好。但是当它出现在浏览器中时,它看起来像这样:

{"DoorSys":100000,"DoorName":"Door 1 - Out","DoorID":"Door # 01 (Out)","LocationSys":-1,"StatusSys":100001,"OrganizationSys":805408}

如果我将浏览器中返回的内容放入JSON格式化程序中,它当然不喜欢它。完全没有。

我做错了什么(如果有的话?)?

修改

根据L.B的回答,我这样做了:

"{\"DoorSys\":100000,\"DoorName\":\"Door 1 - Out\",\"DoorID\":\"Door # 01 (Out)\",\"LocationSys\":-1,\"StatusSys\":100001,\"OrganizationSys\":805408}"

有效!

1 个答案:

答案 0 :(得分:4)

您正在对对象进行双重序列化。将Get方法声明为

public Doors Get(int id)