C# 如果存在内部字符串数组,则使用JSON.NET反序列化JSON失败

C# 如果存在内部字符串数组,则使用JSON.NET反序列化JSON失败,c#,arrays,json,json.net,C#,Arrays,Json,Json.net,我正在使用Json.NET 6.x,我注意到了奇怪的行为: 如果我想反序列化这个简单的JSON,我会得到一个错误: 要反序列化的代码: object o = Newtonsoft.Json.JsonConvert.DeserializeObject(text); 而JSON: [ { "Username": "tb386", "TimestampUpdated": "2015-01-19T18:49:52.771571+01:00", "AuthTokens":

我正在使用Json.NET 6.x,我注意到了奇怪的行为:

如果我想反序列化这个简单的JSON,我会得到一个错误:

要反序列化的代码:

 object o = Newtonsoft.Json.JsonConvert.DeserializeObject(text);
而JSON:

[
  {
    "Username": "tb386",
    "TimestampUpdated": "2015-01-19T18:49:52.771571+01:00",
    "AuthTokens": [
        "Ua7JR5E7hSAxjafp6dpMrvw3HlICW3ZZdDuArMaU5ks="
      ]
  }
]
我得到的错误是:

分析值时遇到意外字符:U路径“”,第0行,位置0

如果我移除阵列,它可以正常工作。但我所要做的就是移除数组中的字符串,使其为空:

[
  {
    "Username": "tb386",
    "TimestampUpdated": "2015-01-19T18:49:52.771571+01:00",
    "AuthTokens": [ ]
  }
]
然后它工作得很好。我还应该注意,序列化的JSON是由Newtonsoft库生成的,因此源代码是同一个库

如果我在带有数组的JSON上尝试一个验证器(比如),它会验证OK

有人能帮我吗

附加信息:即使我在VS中添加一个字符串并编写JSON硬编码,也会失败

string text=“[{\'Username\':\'tb386\',\'TimestampUpdated\':\'2015-01-19T18:49:52.771571+01:00\',\'AuthTokens\':[\'UA7JR5E7HSAXJAFP6DPMRVW3HLICW3ZZDDUARMAUR5KS=\'”;

对象o=Newtonsoft.Json.JsonConvert.DeserializeObject(文本)显示一些相关的内容:反序列化的模型是什么样子的?这完全不相关。我正在反序列化到“对象”,所以忘记模型吧。这是最基本的。似乎工作得很好?是的,它在我尝试过的所有验证器中都能工作=)我在上面也提到过。奇怪的是,Newtonsoft不允许这样做,给了我上面提到的错误。产生错误的Json.NET的确切版本号是多少?