我有带有科学计数法数字的 JSON,例如1.83E+2
. 用 Json.NET 将它反序列化为 along
对我来说效果很好,但是当我用 System.Text.Json 中的新反序列化器替换反序列化器时,它会抛出一个JsonException
:
System.Text.Json.JsonException:'JSON 值无法转换为 System.Int64。...'
这是一个可重现的示例:
static void Main()
{
// test1 is 183
var test1 = Newtonsoft.Json.JsonConvert.DeserializeObject<Foo>(@"{""Bar"": 1.83E+2}");
// throws JsonException
var test2 = System.Text.Json.JsonSerializer.Deserialize<Foo>(@"{""Bar"": 1.83E+2}");
}
public class Foo
{
public long Bar { get; set; }
}