Tengo algunos objetos .NET simples que me gustaría serializar a JSON y viceversa. El conjunto de objetos a serializar es bastante pequeño y yo controlo la implementación, por lo que no necesito una solución genérica que funcione para todo. Debido a que mi ensamblado se distribuirá como una biblioteca, me gustaría evitar la dependencia de algunas DLL de terceros: solo quiero dar a los usuarios un ensamblaje al que puedan hacer referencia.Serialización JSON realmente simple en .NET
He leído las otras preguntas que pude encontrar sobre la conversión desde y hacia JSON en .NET. La solución recomendada de JSON.NET funciona, por supuesto, pero requiere distribuir una DLL adicional.
No necesito ninguna de las características de JSON.NET. Solo necesito manejar un objeto simple (o incluso un diccionario) que contenga cadenas, enteros, DateTimes y matrices de cadenas y bytes. Al deserializar, me complace recuperar un diccionario; no es necesario volver a crear el objeto.
¿Hay algún código realmente simple que pueda compilar en mi ensamblado para hacer este trabajo simple?
También he intentado System.Web.Script.Serialization.JavaScriptSerializer
, pero donde se cae es la matriz de bytes: quiero basar-64 codificar e incluso registrar un convertidor no me permite lograrlo fácilmente debido a la forma en que funciona la API (no pasa en el nombre del campo).
Ha considerado el uso [ILMerge] (http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx) para incrustar JSON.NET en su ensamblado? –
No, pero gracias por señalarlo a mí. Creo que podría ser excesivo para esto, pero parece una herramienta muy interesante y consideraré usarlo para otra cosa en la que estoy trabajando. +1 – EMP
Si los datos JSON contienen una cadena, probablemente valga la pena utilizar un paquete como JSON.NET para manejarlo, en lugar de hacer el suyo. Por ejemplo, ¿cómo manejas espacios en tus cadenas? ¿O comillas simples/dobles en la cadena? Newlines? –