解决:WEB API返回Json数据每个字段自动加上k__BackingField问题

解决:WEB API返回Json数据每个字段自动加上k__BackingField问题

3079发表于2016-06-09

今天遇到一个奇怪的问题,使用ASP.NET WEB API开发接口,使用Test this API测试,返回没问题,但是在客户端调用时返回Json数据每个字段自动加上k__BackingField问题,然后再次使用Test this API测试,也有这个k__BackingField问题


于是我猜测是数据转换成Json时序列化的问题。

之前的类定义为:

    public class RespKeywords
    {
        public string id { get; set; }
        public string name { get; set; }
        public string domain { get; set; }
    }

Action方法:

public List<RespKeywords> WordsList(string clientID)
{
	var result = DKeywords.GetWordsListByClientID(clientID);
	return result;
}

解决办法

在Model项目中添加System.Runtime.Serialization引用如下图:


最后修改Model类RespKeywords定义如下:

[DataContract]
public class RespKeywords
{
	[DataMember]
	public string id { get; set; }
	[DataMember]
	public string name { get; set; }
	[DataMember]
	public string domain { get; set; }
}


小编蓝狐