0

首先,我知道目前 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 进行序列化/反序列化?

4

2 回答 2

1

不,没有。

于 2008-09-26T23:17:52.710 回答
0

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

于 2008-09-26T23:20:36.167 回答