【问题标题】:Controlling property names on serialized ASP.Net Ajax Objects控制序列化 ASP.Net Ajax 对象上的属性名称
【发布时间】:2008-09-26 18:53:09
【问题描述】:

首先,我知道目前在 ASP.Net 中内置了两种“类型”的 JSON 序列化:您可以使用 JavaScriptSerializer 类将对象序列化为 JSON,或者使用新的 DataContractJsonSerializer 类将对象转换为 JSON。

如果使用 JavaScriptSerializer() 方法,则必须将类标记为 Serializable() -- 如果使用 DataContractJsonSerializer 方法,则必须将类标记为 DataContract(),并将属性标记为 DataMembers()。

如果需要,您可以为每个 DataMembers 指定一个 NAME 属性,因此当属性被序列化/反序列化时,它会使用该名称。出于我的目的,我认为这有助于使 JSON 不那么“罗嗦”。例如,我不想将“UserID”声明为我的属性(并在我的 JSON 对象中重复使用它),而是简单地使用“u”。更少的数据传输等。

这两个序列化引擎的渲染有点不同,您只能将 JavaScriptSerializer 与 ASP.Net Web/Script Methods 一起使用。这就是我的问题。

是否有一种等效的方法可以将属性名称设置为其他名称,严格用于使用常规 JavaScriptSerializer 进行序列化/反序列化?

【问题讨论】:

    标签: asp.net-ajax


    【解决方案1】:

    不,没有。

    【讨论】:

      【解决方案2】:

      假设您使用 UTF-8 通过这种技术在网络上节省了 40 位,这不值得失去睡眠。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多