De JSON a objeto dinámico C#

lunes, 2 de diciembre de 2013

La anterior semana me encontré con el reto de usar un JSON gigante, que tenía alrededor de 22.000 líneas de código,  para simplemente ciclar por una de sus colecciones y extraer no más de 5 campos. Me pareció una locura intentar siquiera sumergirme en entender cómo estaba estructurado, qué colecciones tenía, etc.

Googleando bastante, encontré un Nuget que les puede facilitar mucho esta tarea: DynamicJson

DynamicJson es un Nuget, disponible a partir del framework .NET 4.0, que nos va a proporcionar una clase que transforma un JSON en un objeto dinámico con esta simple sintáxis:
 
    var myObj = DynamicJson.Parse(myJSON);

Como resultado, obtenemos un objeto iterable que respeta la estructura del JSON con todos sus valores y cuyo contenido es muchisimo más fácil de explorar, pasando de esto:


A esto:



Se nota la diferencia?

Este Nuget, además, nos proporciona algunos métodos para verificar existencia de algúna propiedad, eliminar elementos, serializador, deserializador y acceso a sus propiedades por medio de notación C#.

Espero que les sea de utilidad.