2011-01-28 33 views
14

Sé que hay un DataContractJsonSerializer que viene ahora con el .NET Framework y que utilizan los servicios wcf ajax habilitados. Sin embargo, he notado que también hay un proyecto json.net en codeplex. Me pregunto si hay ventajas o características que están presentes en el proyecto codeplex que faltan en el .NET Framework.json.net vs DataContractJsonSerializer

+3

que en realidad se vería en la EM [JavaScriptSerializer] (http://msdn.microsoft.com/en-us /library/system.web.script.serialization.javascriptserializer.aspx) (en System.Web.Extensions.dll) antes de 'DataContractJsonSerializer' - salida mucho más" típica ", IMO –

+1

Microsoft ha adoptado la biblioteca de código abierto Json.NET para ASP.NET MVC 4 y ASP.NET WebApi: [ASP.NET MVC, API web, Razor y código abierto] (http://weblogs.asp.net/scottgu/archive/2012/03/27/asp-net- mvc-web-api-razor-and-open-source.aspx) –

Respuesta

8

json.net tiene siguientes ventajas:

  • control sobre cómo obtener las fechas de formatear (el estilo \/Date(123)\/ MS AJAX)
  • La capacidad para serializar gráficos de objetos que contienen ciclos (contando Json.NET ignorar ellos)

Hay muchas explicaciones sobre cómo se refleja en WCF el desarrollo de here.

Además, con respecto a http://banachowski.com/deprogramming/2010/08/json-net-vs-net-datacontractjsonserializer/ tiene un mejor rendimiento, pero estos resultados se pueden argumentar.

4

He usado DataContractSerializer y JavaScriptSerializer y los amo. Sin embargo, JSON.Net es bastante más rico en funciones y estuvo disponible mucho antes de que .NET tuviera tales características.

+1

dos cosas: a . puede expandir en la parte "Más rico en características" .b. Entonces, ¿era json.net simplemente una solución para un momento en que .net no era compatible con json de forma nativa? – dortzur

+0

Incluso cuando .net lo admitió, JSON.NET lo hizo notoriamente más rápido. – IKnowledge

Cuestiones relacionadas