Controllo dei nomi delle proprietà su oggetti Ajax ASP.Net serializzati
-
02-07-2019 - |
Domanda
Per iniziare, so che ci sono due "tipi" della serializzazione JSON attualmente incorporata in ASP.Net: è possibile utilizzare la classe JavaScriptSerializer per serializzare l'oggetto su JSON o la nuova classe DataContractJsonSerializer per convertire un oggetto in JSON.
Se si utilizza il metodo JavaScriptSerializer (), è necessario contrassegnare la classe come Serializable () - se si utilizza il metodo DataContractJsonSerializer, è necessario contrassegnare la classe come DataContract () e contrassegnare le proprietà come DataMembers ().
Se lo desideri, puoi specificare un attributo NAME per ciascun DataMembers, quindi quando la proprietà viene serializzata / deserializzata, usa quel nome. Per i miei scopi, vedo che ciò è utile per rendere JSON non così "prolisso". Ad esempio, invece di indicare " UserID " come mia proprietà (e facendola ripetere in tutto il mio oggetto JSON), mi piacerebbe semplicemente usare " u " ;. Meno dati attraverso il cavo, ecc.
I due motori di serializzazione sono leggermente diversi e puoi usare JavaScriptSerializer solo con i metodi Web / Script ASP.Net. Qui sta il mio problema.
Esiste un modo equivalente di impostare un nome di proprietà su qualcos'altro, rigorosamente ai fini della serializzazione / deserializzazione utilizzando il normale JavaScriptSerializer?
Soluzione
No, non c'è.
Altri suggerimenti
Supponendo che UTF-8 stai risparmiando 40 bit sul filo con questa tecnica, non vale la pena perdere il sonno.