C# JsonSerializer.Serialize<List<BigInteger>>(numbers) 将输出带有 0 列表的 json
C# JsonSerializer.Serialize<List<BigInteger>>(numbers) will output a json with a list of 0's
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.IO;
using System.Numerics;
List<BigInteger> numbers = new List<BigInteger>();
numbers.Add(4);
numbers.Add(3);
File.WriteAllText("example.json", JsonSerializer.Serialize<List<BigInteger>>(numbers);
numbers = JsonSerializer.Deserialize<List<BigInteger>>(File.ReadAllText("example.json"));
foreach(BigInteger i in numbers)
{
Console.WriteLine(i);
}
output: 0 0
expected: 4 3
Jsonserializer 似乎没有正确序列化 BigInteger 列表。
我在这里做错了什么?
您是说 knownPrimes insted of numbers 吗?
var knownPrimes= JsonSerializer.Deserialize<List<BigInteger>>
(File.ReadAllText("example.json"));
更新 您可以将其用于工作参考或测试
List<BigInteger> numbers = new List<BigInteger>();
numbers.Add(4);
numbers.Add(3);
File.WriteAllText("example.json", JsonConvert.SerializeObject(numbers));
var number = JsonConvert.DeserializeObject<List<BigInteger>>(File.ReadAllText("example.json"));
foreach (BigInteger i in numbers)
{
Console.WriteLine(i);
}
using System;
using System.Collections.Generic;
using System.Text.Json;
using System.IO;
using System.Numerics;
List<BigInteger> numbers = new List<BigInteger>();
numbers.Add(4);
numbers.Add(3);
File.WriteAllText("example.json", JsonSerializer.Serialize<List<BigInteger>>(numbers);
numbers = JsonSerializer.Deserialize<List<BigInteger>>(File.ReadAllText("example.json"));
foreach(BigInteger i in numbers)
{
Console.WriteLine(i);
}
output: 0 0
expected: 4 3
Jsonserializer 似乎没有正确序列化 BigInteger 列表。 我在这里做错了什么?
您是说 knownPrimes insted of numbers 吗?
var knownPrimes= JsonSerializer.Deserialize<List<BigInteger>>
(File.ReadAllText("example.json"));
更新 您可以将其用于工作参考或测试
List<BigInteger> numbers = new List<BigInteger>();
numbers.Add(4);
numbers.Add(3);
File.WriteAllText("example.json", JsonConvert.SerializeObject(numbers));
var number = JsonConvert.DeserializeObject<List<BigInteger>>(File.ReadAllText("example.json"));
foreach (BigInteger i in numbers)
{
Console.WriteLine(i);
}