我有一个MVC
ApiController
类,我试图返回JSON。
我在方法中使用Newtonsoft's JSON.NET
序列化程序:
// GET api/packages/5
public string Get(int id)
{
var Packages = new Dictionary<string, string>();
Packages.Add("Package 1", "One");
Packages.Add("Package 2", "Two");
Packages.Add("Package 3", "Three");
Packages.Add("Package 4", "Four");
return JsonConvert.SerializeObject(Packages);
}
但是在浏览器中查看时,我看到了回复:
"{\"Package 1\":\"One\",\"Package 2\":\"Two\",\"Package 3\":\"Three\",\"Package 4\":\"Four\"}"
所有引号都已转义。这显然是我的客户无法读取的。谁能看到我在哪里错了? content-type
将返回application/json
(Chrome开发者工具中也会显示)。
答案 0 :(得分:1)
有一种不使用JSON.NET的简单方法。
public Dictionary<string, string> Get()
{
var packages = new Dictionary<string, string>
{
{"Package 1", "One"},
{"Package 2", "Two"},
{"Package 3", "Three"},
{"Package 4", "Four"}
};
return packages;
}
IE中的结果是
{"Package 1":"One","Package 2":"Two","Package 3":"Three","Package 4":"Four"}