项目场景:
在和底层C++进行数据传输时,用的是JSON格式的字符串,奈何C++的命名和规范和C#很不搭。为了保持C#代码的整洁和避免混淆的问题,决定在实体类上加JSON特性来处理。
问题描述:
底层传递消息对象的JSON格式: {"mid":"202012120001","msg":"New version is coming!","msg_type":"cli","pop_type":1}界面中的实体对象封装:
class MessageEntity
{
public string ID { get; set; }
public string Message { get; set; }
public MessageKind MessageKind { get; set; }
public PopKind PopKind { get; set; }
}
enum MessageKind
{
System,
User,
Client
}
enum PopKind
{
Auto,
Force,
View
}
问题是这样的对象封装肯定和JSON数据对不上,所以就要介绍本次文章的中点。Newtonsoft.JSON中的特性