ASP.NET MVC-JSON.NET在我的键和值周围添加转义引号



我有一个MVC ApiController类,我试图在其中返回JSON。

我在方法中使用Newtonsoft的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开发工具中)。

有一个不使用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"} 

相关内容

  • 没有找到相关文章

最新更新