kevin-montrose / Jil

Fast .NET JSON (De)Serializer, Built On Sigil
MIT License
2.15k stars 253 forks source link

[Deserialization] Exception: `Expected digit` #348

Open Saibamen opened 3 years ago

Saibamen commented 3 years ago

This JSON can be deserialized by Newtonsoft.Json without any problems.

JSON:

{
   "MyString":"testString",
   "MyInt":5,
   "MyIntButStringInJson":"234"
}

Class:

public class TestJil
{
    public string MyString { get; set; }
    public int MyInt { get; set; }
    public int MyIntButStringInJson { get; set; }
}

Deserialization code:

var testJson = "{\r\n   \"MyString\":\"testString\",\r\n   \"MyInt\":5,\r\n   \"MyIntButStringInJson\":\"234\"\r\n}";

using (var input = new StringReader(testJson))
{
    var dupaTam = JSON.Deserialize<TestJil>(input);
}

Exception

Message = "Expected digit"

SnippetAfterError = "234\"\r\n}"

StackTrace:

at Jil.Deserialize.Methods._ReadInt32(TextReader reader)
at Jil.JSON.Deserialize[T](TextReader reader, Options options)

Jil version: 2.17.0