没有错误,执行正常,但我得到了这个输出
[{},{},{}]
这是我的代码片段。 studentList是Student class的对象列表。
public void jsonRead()
{
string json = File.ReadAllText(Environment.CurrentDirectory + @"\JSON.txt");
studentList= new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize<List<Student>>(json);
}
public void jsonWrite()
{
string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(studentList);
File.WriteAllText(Environment.CurrentDirectory + @"\JSON.txt", json);
}
学生班
class Student : IComparable
{
private String regID {get;set;}
private String name {get;set;}
private String address {get;set;}
private String gender {get;set;}
private Double gpa {get;set;}
public Student()
{
regID = null;
name = null;
address = null;
gender = null;
gpa = 0.0;
}
public Student(String regID, String name, String address, String gender, Double gpa)
{
this.regID = regID;
this.name = name;
this.address = address;
this.gender = gender;
this.gpa = gpa;
}
public void update(String regID, String name, String address, String gender, Double gpa)
{
setRegId( regID);
setName(name);
setAddress(address);
setGender(gender);
setGpa(gpa);
}
其次是setter和getters
答案 0 :(得分:2)
找到了解决方案。不知道它是否是正确的方法,但我只是将所有数据成员公开。它起作用了
答案 1 :(得分:1)
这绝对是正确答案!好极了!但是要找到什么 PAIN ! Google不允许您搜索“[{}]”等字符串。 我发现即使部分保护也会阻止序列化程序写出文本。例如(在C#中):
public String Notes {private set; get}
让“笔记”无法触及。 这也是序列化XML的解决方案,而不仅仅是JSON。