0
我用json2csharp從我的JSON生成一些類。當我使用DataContractJsonSerializer
或JsonConvert
進行反序列化時,一切正常,但我不明白爲什麼生成器會生成Message2
類。它不符合我的邏輯,我想清楚地理解這一點。我認爲Message2
應該用在OfflineMessage
裏面,比如List<Message2> messages
,Message1
類需要被刪除。我錯過了什麼?爲什麼json2sharp從我的JSON生成一個額外的類?
這些都是json2csharp生成的類(注意,我改名爲Message
到Message1
更清晰的問題):
public class Message2
{
public int status { get; set; }
public string sender { get; set; }
public string receiver { get; set; }
public string msg { get; set; }
public int timeStamp { get; set; }
public string hash { get; set; }
public string msgContext { get; set; }
}
public class Message1
{
public Message2 message { get; set; }
}
public class OfflineMessage
{
public int sequence { get; set; }
public List<Message1> messages { get; set; }
}
public class Respons
{
public OfflineMessage offlineMessage { get; set; }
}
public class RootObject
{
public int [email protected] { get; set; }
public int [email protected] { get; set; }
public List<Respons> responses { get; set; }
}
這是JSON的樣子:
{
"@pendingMsg": 0,
"@syncStatus": 0,
"responses": [
{
"offlineMessage": {
"sequence": 2,
"messages": [
{
"message": {
"status": 6,
"sender": "storng",
"receiver": "JoilSp",
"msg": "Hello my friend",
"timeStamp": 1465398075,
"hash": "+eq4cxwICbyNC31X5naQz3Z+R/Lxdw==",
"msgContext": "+eq4cxwICbyNC31X5naQz3Z+R/Lxdw=="
}
},
{
"message": {
"status": 6,
"sender": "JioS",
"receiver": "JoilSp",
"msg": "nice)))",
"timeStamp": 1465398075,
"hash": "+eq4cxwICbyNC31X5naQz3Z+R/Lxdw==",
"msgContext": "+eq4cxwICbyNC31X5naQz3Z+R/Lxdw=="
}
}
]
}
}
]
}