序列化和反序列化Json.Net不同的属性名称

时间:2014-03-18 20:06:01

标签: c# json serialization json.net deserialization

我想知道如何使用更改名称的属性使用Json.net序列化和反序列化模型。

示例:

Model: {
 public int Id { get; set; }
 [JsonProperty("Id")]
 public String EventId { get; set; }
 public String Name { get; set; } 
}

我点击加载数据的其余端点,将数据传递给我:

[{
 Id: 'A1B2C3D4-E1',
 Name: 'Event 1'
}]

我想将信息传递给我的用户界面,如:

[{
 Id: 1,
 Name: 'Event 1'
}]

我需要将事件的id存储在我的数据库中,以便在从其余端点重新填充数据库时检查它是否存在。但是,在使用模型时,我想使用自己的Id字段。在序列化到我的UI时,我需要查看外部关键字关系的内部ID,而不是字符串eventId(仅用于数据库AddOrUpdate)

另请注意,Id属性是从基础模型继承的,因此只更改Id的jsonp名称并不是一个选项。

0 个答案:

没有答案