Json.Net序列化对象丢失其Id值

Nic*_*ray 7 c# json json.net

我正在使用Json.Net来序列化和反序列化一个对象.

我遇到一个问题,其中反序列化对象recordPosted的Id为零.

序列化记录将包含Id为180

JsonSerializerSettings jsSettings = new JsonSerializerSettings();
jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;

var recordAsJson = JsonConvert.SerializeObject(recordToUpdate, 
                                Formatting.None, jsSettings);
//recordAsJson = {"Id":180,....


 var recordPosted = JsonConvert.DeserializeObject<record>(recordAsJson);
 //recordPosted = Id : 0
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

编辑

public virtual int Id { get; private set; }
Run Code Online (Sandbox Code Playgroud)

Jam*_*ing 14

Json.NET默认情况下不设置私有属性设置器.将setter设为public或在属性上放置[JsonProperty]属性.

  • 詹姆斯 - 谢谢你的回答,当然还有Json.Net (2认同)