0
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

It seems like Jsonserializer isn't serializing a list of BigInteger correctly. what am I doing wrong here?

dbc
  • 104,963
  • 20
  • 228
  • 340
Travis Rivera
  • 428
  • 1
  • 4
  • 19

1 Answers1

1

Did you mean knownPrimes insted of numbers ?

var knownPrimes= JsonSerializer.Deserialize<List<BigInteger>>

(File.ReadAllText("example.json"));

Update You can use this for working reference or testing

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);
            }
JKC
  • 79
  • 6