Al obtener un error de analizador al tratar de serializar una matriz ulong, parece que la biblioteca Json.NET no comprueba si el entero está firmado o no; ¿Alguien sabe de una solución para esto? o cualquier otra biblioteca .NET Json que pueda manejar int sin firmar?Json.NET se bloquea al serializar matriz de enteros sin signo (ulong)
* EDITAR: código debajo; * Se serializa bien, pero cuando se deserializa arroja un error; Parece que no sirve para que el int sin firmar vea el rastro de la pila;
NewTonsoft.Json.JsonReaderException : {"JSON integer 18446744073709551615 is too large or small for an Int64."}
Value was either too large or too small for an Int64.
at System.Number.ParseInt64(String value, NumberStyles options, NumberFormatInfo numfmt)
at System.Convert.ToInt64(String value, IFormatProvider provider)
at Newtonsoft.Json.JsonTextReader.ParseNumber() in d:\Development\Releases\Json\Working\Src\Newtonsoft.Json\JsonTextReader.cs:line 1360
class Program
{
static void Main(string[] args)
{
string output = JsonConvert.SerializeObject(new ulong[] {ulong.MinValue, 20, 21, 22, ulong.MaxValue});
Console.WriteLine(output);
ulong[] array = JsonConvert.DeserializeObject<ulong[]>(output);
Console.WriteLine(array);
Console.ReadLine();
}
}
¿Cuál es el error exacto que está obteniendo? ¿También puede publicar el seguimiento de la pila, junto con fragmentos relevantes de su código? – svick
Probablemente sea tu código. ¿Por qué no lo publicas? –
Acabo de publicar el código –