Json转换成对象问题
想把Json转换成对象,在网上找了资料,调试老是提出错误(如下),这是为什么?
An unhandled exception of type 'System.Runtime.Serialization.InvalidDataContractException' occurred in System.Runtime.Serialization.dll
Additional information: 无法序列化类型“JsonTest.Student”。可以考虑使用 DataContractAttribute 属性对其进行标记,以及使用 DataMemberAttribute 属性标记所有想要序列化的该类型的成员。有关其他支持的类型,请参阅 Microsoft .NET Framework 文档。
代码如下:
class Student
{
private string _Name;
private int _Age;
public Student(string name, int age)
{
_Name = name;
_Age = age;
}
public string Name
{
set { _Name = value; }
get { return _Name; }
}
public int Age
{
set { _Age = value; }
get { return _Age; }
}
}
class Program
{
static void Main(string[] args)
{
System.Runtime.Serialization.Json.DataContractJsonSerializer json = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(Student));
using (MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes("{\"Age\":20,\"Name\":\"张三\"} ")))
{
Student stu = (Student)json.ReadObject(stream);
Console.Write(string.Format("name:{0},age:{1}", stu.Name, stu.Age));
}
}
}
------解决方案--------------------加上[DataContract]看看
------解决方案------------------