我正在尝试习惯于对象的序列化,并且在使用Debug.Log时注意到了一些东西。
首先,我创建了以下内容:
//Creating a new Question object
Question question1 = new Question
{
studentPin = pinNumber.text
};
ServerRequest request = new ServerRequest
{
operation = Constants.PIN_OPERATION,
//set the values entered for the pin entered
question = question1,
};
string myJson = JsonUtility.ToJson(request);
我的请求类如下:
[System.Serializable]
public class ServerRequest
{
public string operation;
public Question question;
public Individual individual;
public Team team;
public TeamMember teamMember;
}
我期望这样的JSON数组:
{
"operation": "pin",
"question": {
"studentPin": "123456"
}
}
相反,我有这个:
{
"operation": "pin",
"question": {
"studentPin": "123456",
"user_unique_id": ""
},
"individual": {
"fullName": "",
"studentNumber": "",
"lecturerID": ""
},
"team": {
"lecturerID": ""
},
"teamMember": {
"fullName": "",
"studentNumber": "",
"lecturerID": ""
}
}
我可以看到由于某种原因,它不仅仅是使用传递给Request
对象的值,还保留了对Request
类中所有对象的引用。
我读到有关使用
//Some code omitted
[XmlIgnore]
但是我不确定这是否是我所需要的,或者我面临的问题是完全不同的问题。当我尝试使用提到的属性时,它对我的JSON没有影响,因此不确定是否使用错误。
如何忽略不向其传递值的对象?
稍后,我想使用当前不包含任何值的对象,因此为什么它们属于同一类。
感谢您的帮助。