JavaScriptSerializer no está obsoleto después de .net 3.5 SP1. ¿Debería usar JavaScriptSerializer o el DataContractJsonSerializer recomendado anteriormente? ¿También por qué se hizo obsoleto?¿Por qué Microsoft hizo JavaScriptSerializer obsoleto antes de .NET 3.5 SP1 y de nuevo activo después de eso?
Respuesta
Me encantaría usar JavaScriptSerializer
- pero si tiene dudas, considere una tercera opción - Json.NET. Debido a que es de terceros, no está relacionado con las decisiones de MS ... eso es un arma de doble filo, por supuesto, pero a menudo es más fácil obtener una solución menor aplicada a una biblioteca independiente de terceros.
lo siento, tuve que poner esto aquí en los comentarios pero, usando el servicio '.NET 2.0 asmx', ¿qué camino debo ir' DataContractJsonSerializer', 'JavaScriptSerializer' o 'http: // jayrock.berlios.de' no sé si JSON.net es 2.0 compatible. Estamos construyendo un sistema de widgets y estamos retransmitiendo widgets como datos JSON de webmethods. – Deeptechtons
@Deeptechtons bien, JavaScriptSerializer no es una opción en 2.0, y tampoco lo es DataContractJsonSerializer. Francamente, DataContractJsonSerializer tiende a producir json atípico. Yo haría lo siguiente: actualizar a 3.5/4.0 y usar JavaScriptSerializer, o ver si JSON.net, etc. son 2.0 amigables –
gracias y, por cierto, ¿JSON - RPc es diferente de los objetos web que devuelven el objeto? Http: //stackoverflow.com/questions/9291423/json-rpc-libraries-for-use-with-net – Deeptechtons
No he visto una explicación definitiva. Hubo bastantes personas molestas cuando JavaScriptSerializer se volvió obsoleto.
Scott Gu hizo this comment en su blog diciendo que pensó que marcarlo como obsoleto no tenía sentido.
JavaScriptSerializer actualmente está marcado como obsoleto, aunque no estoy seguro de por qué (iba a preguntarle a alguien sobre esto hoy). Es muy útil Tenga en cuenta que obsoleto no significa la eliminación en .NET 3.5 - se admitirá al menos otra versión o dos (o más si puedo convencerlos).
Supongo que tal vez él los convenció :-)
he seguido utilizando JavaScriptSerializer como su mucho más sencillo que el DataContractJsonSerializer.
Dado que el equipo de MVC utiliza JavaScriptSerializer con tanta intensidad, es poco probable que se elimine en el futuro, ya que MVC ha recibido tal impacto. –
Por supuesto [webAPI usa Json.Net] (https://blogs.msdn.microsoft.com/henrikn/2012/02/17/using-json-net-with-asp-net-web-api/) como estándar . Entonces Microsoft ya no está encadenado al uso de ninguna de estas tecnologías. Creo que se habla de combinar tecnologías de API web con MVC, por lo que ahora es cuestionable cuánto tiempo se mantendrá esta dependencia. IMO Json.Net gana todo el tiempo. – Liam
- 1. Entrega de .Net 3.5 SP1
- 2. Html.AntiForgeryToken() causa errores después de actualizar a .NET 3.5 SP1
- 3. Cambios de XmlSerializer en .NET 3.5 SP1
- 4. System.MissingMethodException - 3.5 SP1 versiones demonios
- 5. 'Requisitos previos de .NET Framework 3.5 SP1 Client Profile
- 6. ¿Se necesita reiniciar .NET Framework 3.5 SP1?
- 7. API web para .Net 3.5 SP1?
- 8. ¿Es seguro instalar .Net 3.5 SP1 después de que .Net 4.0 RC ya haya sido instalado?
- 9. ¿Por qué mi proyecto de Visual Studio Win32 requiere la instalación de .NET 3.5 SP1?
- 10. Detectar .NET Framework 3.5 SP1 Dependencia (cmp. 3.5 w/o SP1)
- 11. Uso de EF 4 en .NET 3.5 SP1
- 12. Nuevo proyecto .NET 3.5: ¿Qué tecnología DAL usar?
- 13. usando WIX3.6 para instalar .NET Framework 3.5 SP1 con Burn
- 14. ¿Puede VS.NET 2010/MSBUILD producir XmlSerializers para .NET 3.5 SP1?
- 15. ¿Hay un perfilador de CLR que funcione con .NET 3.5 SP1 y WPF?
- 16. ¿Hay alguna forma de extraer .NET 2.0 de .NET 3.5?
- 17. ¿Alternativa a HttpUtility para el cliente .NET 3.5 SP1?
- 18. .NET framework compatibility: 3.5 SP1 & 4.0 Client Profile
- 19. .net 3.5 SP1 Bootstrapper no encontrado para la configuración
- 20. ¿Cómo puedo saber si .NET 3.5 SP1 está instalado?
- 21. ¿Cómo se puede desinstalar Visual Studio 2008 SP1 w/.Net 3.5 SP1?
- 22. Cómo mostrar el cuadro de diálogo de autenticación en C# .Net 3.5 SP1
- 23. JSON.NET JsonConvert vs .NET JavaScriptSerializer
- 24. Segmentación de .NET 3.5 y Silverlight
- 25. Comunicación del puerto serie RS232 C# win7 .net framework 3.5 sp1
- 26. no se puede instalar .NET Framework 3.5
- 27. C#: ¿Por qué Microsoft no hizo una ReadOnlyCollection <T> heredando de ReadOnlyCollectionBase?
- 28. ¿Por qué .NET 4.0 ordena esta matriz de forma diferente que .NET 3.5?
- 29. "mejor" manera de comunicarse entre .NET 1.1 y .NET 3.5
- 30. El portapapeles se comporta de manera diferente en .NET 3.5 y 4, pero ¿por qué?
Solo para agregar más, JavaScriptSerializer y DataContractJsonSerializer no siempre son compatibles entre sí (DateTime, IIRC, es un problema). –