Nhận lỗi trình phân tích cú pháp khi cố gắng tuần tự hóa một mảng ulong, trông giống như thư viện Json.NET không kiểm tra nếu số nguyên được ký hoặc chưa ký; bất kỳ ai biết về một cách giải quyết cho việc này? hoặc bất kỳ thư viện .NET Json nào khác có thể xử lý int không dấu của?Json.NET treo khi tuần tự hóa dãy số nguyên không dấu (ulong)
* EDIT: mã bên dưới; * Nó tuần tự tốt, nhưng khi deserializing nó ném một lỗi; Dường như nó không phục vụ cho các int không dấu từ nhìn vào dấu vết ngăn xếp;
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();
}
}
Lỗi chính xác bạn đang gặp phải là gì? Bạn cũng có thể đăng theo dõi ngăn xếp, cùng với các bit có liên quan của mã của bạn không? – svick
Đó có thể là mã của bạn. Tại sao bạn không đăng nó? –
Tôi vừa mới đăng mã số –