Управление именами свойств в сериализованном ASP.Сетевые объекты Ajax

StackOverflow https://stackoverflow.com/questions/141244

  •  02-07-2019
  •  | 
  •  

Вопрос

Для начала, я знаю, что в настоящее время существует два "вида" сериализации JSON, встроенных в ASP.Net:вы можете либо использовать класс JavaScriptSerializer для сериализации вашего объекта в JSON, либо новый класс DataContractJsonSerializer для преобразования объекта в JSON.

Если вы используете метод JavaScriptSerializer(), вы должны пометить свой класс как Serializable() - если вы используете метод DataContractJsonSerializer, вы должны пометить свой класс как DataContract(), а свои свойства как DataMembers().

Если вы хотите, вы можете указать атрибут NAME для каждого элемента данных, поэтому, когда свойство сериализуется / десериализуется, оно использует это имя.Для моих целей я считаю это полезным, чтобы сделать JSON не таким "многословным".Например, вместо того, чтобы указывать "userId" в качестве моего свойства (и повторять его во всем моем объекте JSON), я бы хотел просто использовать "u".Меньше данных передается по проводам и т.д.

Два механизма сериализации отображают немного по-разному, и вы можете использовать JavaScriptSerializer только с ASP.Net Методами Web / Script.В этом и заключается моя проблема.

Есть ли эквивалентный способ присвоения имени свойства чему-то другому, строго для целей сериализации / десериализации с использованием обычного JavaScriptSerializer?

Это было полезно?

Решение

Нет, это не так.

Другие советы

Предполагая, что в UTF-8 вы сохраняете 40 бит по проводу с помощью этого метода, это не стоит потерянного сна.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top