C# JsonConvert.DeserializeObject不处理1个特定对象(“$id”)返回null,如果为空

C# JsonConvert.DeserializeObject不处理1个特定对象(“$id”)返回null,如果为空,c#,json,json.net,json-deserialization,C#,Json,Json.net,Json Deserialization,这是我的模型: public class Object { [JsonProperty(PropertyName = "test1")] public string Test1 { get; set; } [JsonProperty(PropertyName = "test2")] public string Test2 { get; set; } [JsonProperty(PropertyName = "_id")] pub

这是我的模型:

 public class Object
 {
     [JsonProperty(PropertyName = "test1")]
     public string Test1 { get; set; }

     [JsonProperty(PropertyName = "test2")]
     public string Test2 { get; set; }

     [JsonProperty(PropertyName = "_id")]
     public ID Id { get; set; }
 }

 public class ID
 {
     [JsonProperty(PropertyName = "$id")]
     public string Id { get; set; }
 }
当我调试它时,它会正确地显示每个值,但是在JsonConvert之后。Id为空。我做错了什么

Json正文:

 "test1: "sometext",
 "test2": "sometext",
  "_id": {
    "$id": "thisisanidstring"
  }
看一看


Json.NET使用$id作为保留字来帮助它处理对象引用

除非您向我们展示用于反序列化的JSON以及用于反序列化的代码,否则答案将是猜测。@spender是的,我忘记了,已更新。请看这里,它说明了如何解决此问题