I am using Json.NET 6.x and I noticed weird behaviour:
If I want to deserialize this simple JSON, I get an error:
The code to deserialize:
object o = Newtonsoft.Json.JsonConvert.DeserializeObject(text);
and the JSON:
[
{
"Username": "tb386",
"TimestampUpdated": "2015-01-19T18:49:52.771571+01:00",
"AuthTokens": [
"Ua7JR5E7hSAxjafp6dpMrvw3HlICW3ZZdDuArMaU5ks="
]
}
]
The error I get is:
Unexpected character encountered while parsing value: U. Path '', line 0, position 0.
If I remove the array, it works fine. But all I have to do, is to remove the string inside the array, making it empty:
[
{
"Username": "tb386",
"TimestampUpdated": "2015-01-19T18:49:52.771571+01:00",
"AuthTokens": [ ]
}
]
and then it works fine. I should also note that the serialized JSON was produced by the Newtonsoft library, so the source is the same library!
If I try a validator (like http://jsonlint.com/) on the JSON with the array, it valides OK!
Can anyone help me out here?
Additional information: Even if I add a string inside VS and write the JSON hardcoded, it fails!
string text = "[ {\"Username\": \"tb386\",\"TimestampUpdated\": \"2015-01-19T18:49:52.771571+01:00\",\"AuthTokens\": [\"Ua7JR5E7hSAxjafp6dpMrvw3HlICW3ZZdDuArMaU5ks=\"] } ]";
object o = Newtonsoft.Json.JsonConvert.DeserializeObject(text);
Version info on Newtonsoft dll: