【问题标题】:Removing root xml tag from json result in asp.net web api 2 c#从 json 中删除根 xml 标记导致 asp.net web api 2 c#
【发布时间】:2016-04-15 12:00:13
【问题描述】:

我想从 web API 2 方法返回的 json 结果中删除根 xml 标记。 这是代码

[HttpGet]
public string Get()
{
    var data = context.Languages
        .Select
        (lang => new
        {
            id = lang.Language_ID,
            title = lang.Name
        });
    //return JsonConvert.SerializeObject(data, Formatting.Indented);
    return new JavaScriptSerializer().Serialize(data);
}

这是结果字符串

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
    [{"id":1,"title":"Arabic"},{"id":2,"title":"English"},{"id":3,"title":"French"}]
</string>

【问题讨论】:

    标签: asp.net api asp.net-web-api


    【解决方案1】:

    你的方法返回一个字符串,这就是你得到字符串 xml 标记的原因,试试这个

    [HttpGet]
    public ActionResult Get()
    {
        var data = context.Languages
            .Select
            (lang => new
            {
                id = lang.Language_ID,
                title = lang.Name
            });
        //return JsonConvert.SerializeObject(data, Formatting.Indented);
        return Json(new JavaScriptSerializer().Serialize(data));
    }    
    

    【讨论】:

      【解决方案2】:

      我通过创建新类解决了这个问题,并将方法更改为以下代码

        [HttpGet]
          public IEnumerable<BasicItem> Get()
          {
              var data = context.Languages
                  .Select
                  (lang => new BasicItem
                  {
                      id = lang.Language_ID,
                      title = lang.Name
                  });
              //return JsonConvert.SerializeObject(data, Formatting.Indented);
              return data;
          }
      

      asp.net 会自动序列化它 为了确保返回结果是 json 我在 WebApiConfig 中添加了以下代码

          config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new   MediaTypeHeaderValue("text/html"));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-02
        • 2021-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多