use*_*605 5 c# asp.net json.net
所以目前我正在开发一个 WebAPI 并且运行时出现以下错误。
当我尝试返回一个用 JsonConvert.SerializeObject(object) 序列化的 List 时,我的第二个属性(字符串 JSON)被回车和换行符掩盖了。
这是代码:
public class Template
{
public string Name;
public string JSON;
}
public HttpResponseMessage GetAll()
{
var items = db.GetTemplates().ToList<Template>();
var resp = new HttpResponseMessage()
{
Content = new StringContent(JsonConvert.SerializeObject(items),Encoding.UTF8,"application/json")
};
resp.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return resp;
}
Run Code Online (Sandbox Code Playgroud)
更改为:
Content = new StringContent(JsonConvert.SerializeObject(items.ToList<Template>()[0]),Encoding.UTF8,"application/json")
Run Code Online (Sandbox Code Playgroud)
显示同样的错误
在将代码更改为:
Content = new StringContent(JsonConvert.SerializeObject(items.ToList<Template>()[0].JSON),Encoding.UTF8,"application/json")
Run Code Online (Sandbox Code Playgroud)
一切恢复正常...
在浏览器中检查,而不是在 Visual Studio 中!
有人给我提示吗?谷歌只是不会让我找到答案。
提前致谢!
正如 Brian Rogers 在评论中提到的,使用 JsonSerializerSettings Formatting = Formatting.None 属性:
JsonSerializerSettings jsonSettings = new JsonSerializerSettings
{
Formatting = Formatting.None
};
string jsonString = JsonConvert.SerializeObject(items,jsonSettings);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4688 次 |
| 最近记录: |