Json.NET - Json framework para .NET
o Json.NET é uma framework muito boa para quem tem de lidar com objectos Json a serem enviados por chamadas AJAX por exemplo. No caso específico do MVC .NET, temos a facilidade de retornar objectos JsonResult (o que nos facilita bastante a vida!). Mas para quem tem de fazer algo em Webforms, consegue o mesmo efeito recorrendo ao Json.NET
Uma dica que dou: criem uma classe (ie: RetornarJson) com algumas propriedades importantes que tenham de receber no lado do cliente (ie: Erro (bool), Mensagem (string), JsonRetornado (string)), e devolvam esta classe nas chamadas realizadas pelo cliente como Json.. Eu estou a utilizar algo semelhante num projecto e está a tornar-se muito produtivo. Poupa-me bastante tempo de desenvolvimento, e além de conseguir retornar o que precisar em Json (preciso sempre de serializar claro) consigo saber se correu tudo bem no lado do servidor e qual a mensagem de erro se existir.
Algo muito bom nesta framework é a facilidade de popular-mos um objecto (neste caso o Objecto1 seria um objecto criado por mim) que esteja serializado:
string json = "objecto Json retornado pelo cliente";
Objecto1 objecto = Newtonsoft.Json.JsonConvert.DeserializeObject<Objecto1>(json);
Algo que é importante destacar no Json.NET é a forma como ele lida com erros. Não temos obrigatóriamente de "apanhar" com excepções se tentar-mos popular um objecto e a coisa correr para o torto! Esta framework vem bem preparada e permite-nos lidar com isto: http://james.newtonking.com/projects/json/help/SerializationErrorHandling.html
Para quem está familirizado com LINQ, também nos é introduzido o LINQ to JSON, assim como é possível converter Json em XML (e vice-versa). Hà muito mais a falar acerca desta framework, mas nada melhor que dar uma espreitadela nela ;)
Página do projecto: http://json.codeplex.com/
Documentação: http://james.newtonking.com/projects/json/help/
Aproveito para agradecer ao Paulo Morais por me ter sugerido esta framework!