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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top