如何将JSON格式转化成类,也可以将类转换成JSON
如题,如何将JSON转换成类,将类转化成JSON,就是可以相互转换! JSON 类
[解决办法]
给你个最简单的例子:引用Newtonsoft.Json.dll
class Program
{
static void Main(string[] args)
{
Student student = new Student();
student.Name = "guwei4037";
student.Age = 7;
string json = JsonConvert.SerializeObject(student);//序列化输出Json字符串
Console.WriteLine(json);
Student jsonObject = JsonConvert.DeserializeObject<Student>(json);
Console.WriteLine(string.Join(" ", jsonObject.Name, jsonObject.Age));//反序列化输出 guwei4037和7
}
}
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
请教大家一个问题,我想根据MsgType(消息的类型)来将这些属性归类,
public class Command
{
public long Num; //命令序号。如果为负数,表示是返回。
public string Type; //命令实体类型。
public JToken Data; //命令实体的json序列化(但是不是序列化为string,而是 JToken
}
string input = ......;
msg = (Command)JsonConvert.DeserializeObject(input, typeof(Command));
var type = GetDataType(msg.Type); //查询Data属性目标类型
var obj = msg.Data.ToObject(type);
var cmd = obj as MyCommand;
if(cmd != null)
{
var ret = cmd.Execute(msg); //执行cmd这个命令
将ret返回给客户端
}
var cmd = new Command
{
Num = number, //命令顺序号
Type = message.GetType().Name,
Data = JToken.FromObject(message)
var output = JsonConvert.SerializeObject(cmd);
};