关于JSON转换为对象时出现的:数据协定类型 “***”无法反序列化,因为未找到必需的数据成员 **(字段名)
在使用DataContractJsonSerializer反序列化JSON数据时会出现这种情况,
这时实体类的定义应该是这个样子:
public Test{
private string a;
public string A
{
get{return a;}
set{a=value;}
}
}
private string a;
public string A
{
get{return a;}
set{a=value;}
}
}
将其改为:
public Test{
public string A="";
}
public string A="";
}
则正常。即 实体类中不能用属性,而要以 public 字段代替,原因未知。
另外,JSON 里必须包含实体类的所有字段。