我使用这种格式使用WCF进行JSON服务:
[OperationContract]
[ServiceKnownType(typeof(ComplexResult))]
[WebInvoke(
Method = "GET",
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
MyClass MyFunction(string myParams);
Run Code Online (Sandbox Code Playgroud)
这很有效,但它有一个限制.我不能忽略我正在序列化为JSON的类的属性.如果我使用JavaScriptSerializer类,那么我可以将[ScriptIgnore]属性放在我想忽略的属性上,并且它们不会在JSON中序列化,但是这不适用于上面的方法.
有没有办法使用ResponseFormat Json方法排除被序列化为JSON的类的属性?
car*_*ira 11
默认情况下,WCF使用DataContractJsonSerializer序列化对象.根据MyClass定义的方式,您可以使用不同的属性来阻止成员序列化:
[IgnoreDataMember]在不希望序列化的成员中使用该属性[Serializable],您可以[NotSerialized]在这些成员中使用该属性[DataContract],那么您只需要添加 [DataMember]不需要序列化的成员.| 归档时间: |
|
| 查看次数: |
3675 次 |
| 最近记录: |