Json字符串反序列化成对象的一个问题
类的定义:
//人
class Person{
int id;
string name;
Post post;
}
//职位
class Post{
int postid;
string postname;
}
反序列化代码:
string pstr1="[{id:1,name:'aaa',post:1},{id:2,name:'bbb',post:2}]";
Person [] p=JsonConvert.DeserializeObject<Person[]>(pstr1);
进行反序列化,肯定会出错,因为Json字符串的格式和Person类的结构不匹配,就是因为post字段是个对象,而上面Json字符串的post却是个数字,写成下面这样不会出错:
string pstr2="[{id:1,name:'aaa',post:{postid:1,postname:'manager'}},{id:2,name:'bbb',post:{postid:2,postname:'employee'}}]";
Person [] p=JsonConvert.DeserializeObject<Person[]>(pstr2);
我的问题是:页面传递过来的数据就是post:1这种形式,我不想用拼接字符串的形式将post:1改成post:{postid:1,postname:'manager'},那样做代码太多...有没有更好的解决办法?