【发布时间】:2010-09-01 17:50:36
【问题描述】:
我们刚刚启动了一个新的 ASP.Net 项目,该项目使用 Web 服务将一些 CSLA 业务对象序列化为我们的客户端 javascript/JQuery 代码的 JSON 数据。在客户端浏览器(Firefox 中的 Firebug)中查看 JSON 数据后,我们注意到业务对象中有大量属性我们不需要下载到浏览器。
有没有办法排除属性(除了将它们标记为私有)被 JSON 序列化程序序列化?我们不是直接调用 JSONSerializer,而是在 WebMethod 上包含一个 ScriptMethod 声明。
<ScriptMethod(ResponseFormat:=ResponseFormat.Json)> _
<WebMethod()> _
Public Function getQuestions()
更新 我们尝试了在公共属性上添加属性的建议,但收到错误:
Error 25 Attribute 'NonSerializedAtrribute' cannot be
applied to 'Name' because the attribute is not valid
on the is declaration type.
现在,如果我们将 NonSerialized 添加到类中,那么它可以工作,但不能在属性上。但是,我们确实希望对某些属性进行序列化。
有什么想法吗?
【问题讨论】:
标签: c# asp.net vb.net web-services json