首页 新闻 搜索 专区 学院

用Json(object)获取Json数据时[DataMember(Name = "id")的问题

0
悬赏园豆:50 [已关闭问题]
代码
[DataContract]
public class People
{
  [DataMember(Name
= "id")]
  
public int ID { get; set; }
  [IgnoreDataMember]
  
public string Name { get; set; }
}
public JsonResult GetPeoples()
{
  List
<People>peoples=new List<People>();
  
//...
  return Json(peoples);
}

 

希望得到:{"id":1}

实际得到:{"ID":1,"Name":"姓名"}

请问为什么[DataMember(Name = "id")]和[IgnoreDataMember]都没有起作用呢,要达到预期结果应该怎么做?

Dye的主页 Dye | 初学一级 | 园豆:140
提问于:2010-05-24 12:00
< >
分享
其他回答(3)
0

不需要序列化的字段不用加任何DataMember声明即可,比如你的Name属性,你不用加任何DataMember声明即可,这样子序列化的时候就不会被序列化的...

不加后你再测试下...

西越泽 | 园豆:10633 (专家六级) | 2010-05-24 12:55
所有都不加结果也是一样的,也就是说[DataContract]、[DataMember(Name = "id")]、[IgnoreDataMember]都没起作用。
支持(0) 反对(0) Dye | 园豆:140 (初学一级) | 2010-05-24 13:03
1

JsonResult用的是JavaScriptSerializer,不认DataMember的,你得自己写个ViewResult了……

Gray Zhang | 园豆:17610 (专家六级) | 2010-05-24 13:46
0

属性是public的都会序列化

_zpq | 园豆:204 (菜鸟二级) | 2013-01-11 11:31
0

using Newtonsoft.Json;

 [JsonProperty("id")]

 

sunashang | 园豆:202 (菜鸟二级) | 2014-12-15 15:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册