gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 21:00:42 25 4
gpt4 key购买 nike

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

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

在 WebAPIConfig 中使用这个:

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}

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

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

如果我把浏览器返回的内容放到一个 JSON 格式器中,它当然不喜欢。完全没有。

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

编辑:

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

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

有效!

最佳答案

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

public Doors Get(int id)

关于c# - API 在代码中返回有效的 JSON,但在浏览器中返回无效的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45845883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com