发送/接收可空对象JSON webservice

时间:2013-12-20 11:06:28

标签: c# json web-services nullable

是否可以通过JSON WCF服务发送/接收可空对象,发送时的外观如何?那么发送/接收枚举呢?

例如,我们在下面有一个通过JSON webservice发送给用户ui的对象

  public enum GenderTypes
  {
      Male = 0,
      Female = 1
  }
  public class Human { 
      public int? Age { get; set; }
      public GenderTypes Gender {get; set;}
  }

1 个答案:

答案 0 :(得分:1)

是的,可以通过JSON WCF服务发送/接收可空对象。

如果您的对象具有可空类型属性,并且您希望调用该服务的客户端将其值发送为null,则您只能在请求主体中传递该属性的值,然后反序列化您的对象。

现在,您的对象将该属性的值设为null。

例如:您的请求正文看起来像这样(内容类型为json)

{ 
  "Age" : 12,
  "Gender":"M"
}

将此请求反序列化到对象中时,您的对象将具有 obj.Age=12obj.Gender="M",现在,如果您要求的话与此类似

{ 
  "Gender":"M"
}

然后您的对象将有obj.Age=nullobj.Gender="M"

(注意:我在这里假设Gender为String数据类型)