Contrôle des noms de propriété sur des objets ASP.Net Ajax sérialisés

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

  •  02-07-2019
  •  | 
  •  

Question

Pour commencer, je sais qu’il existe deux "types". de la sérialisation JSON actuellement intégrée à ASP.Net: vous pouvez utiliser la classe JavaScriptSerializer pour sérialiser votre objet en JSON ou la nouvelle classe DataContractJsonSerializer pour convertir un objet en JSON.

Si vous utilisez la méthode JavaScriptSerializer (), vous devez marquer votre classe en tant que Serializable (). Si vous utilisez la méthode DataContractJsonSerializer, vous devez marquer votre classe en tant que DataContract () et marquer vos propriétés en tant que DataMembers ().

Si vous le souhaitez, vous pouvez spécifier un attribut NAME pour chaque DataMembers. Ainsi, lorsque la propriété est sérialisée / désérialisée, elle utilise ce nom. À mes fins, j'estime que cela est utile pour rendre le JSON moins "verbeux". Par exemple, au lieu d’indiquer " UserID " en tant que ma propriété (et l’ayant répété tout au long de mon objet JSON), je voudrais simplement utiliser "u". Moins de données sur le réseau, etc.

Les deux moteurs de sérialisation ont un rendu légèrement différent et vous ne pouvez utiliser que JavaScriptSerializer avec les méthodes Web / Script ASP.Net. C'est là que réside mon problème.

Existe-t-il un moyen équivalent de définir un nom de propriété sur quelque chose d'autre, uniquement à des fins de sérialisation / désérialisation à l'aide de JavaScriptSerializer standard?

Était-ce utile?

La solution

Non, il n'y en a pas.

Autres conseils

En supposant que le format UTF-8 économise 40 bits par câble grâce à cette technique, vous ne perdez pas votre sommeil.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top