Web API JSON字符串结果包含动态对象值的双引号

时间:2015-04-09 21:12:04

标签: json dynamic asp.net-web-api odata

我的控制器如下......

public IHttpActionResult GetData()
    {
       IEnumerable<dynamic> result = api.getData();

       string json = JsonConvert.SerializeObject(result);
       return Ok(json);
}

从fiddler

返回原始文本

{&#34; @ odata.context&#34;:&#34; https://localhost:44305/api/ $元数据#Edm.String&#34;&#34;值&#34;:&#34; [\ r \ n {\ r \ n \&#34; UserName \&#34;:\&#34; test@gmail.com \&#34; \ r \ n} \ r \ n]&#34; < / p>

您注意到值的JSON对象有围绕它的双引号和特殊字符\ r \ n。如何让它返回纯JSON格式???

2 个答案:

答案 0 :(得分:0)

我没有从您的代码中获取更多详细信息,但您是否尝试过这种方式。 是否有使用序列化对象的具体原因?

        [System.Web.Http.HttpGet]                
        public IEnumerable<XYZ> GetData()
        {
            return api.GetData();
        }

希望这有帮助!!!

答案 1 :(得分:0)

这是设计使然,因为您要返回json字符串。

在js中执行此操作:JSON.parse(response.data)