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=="
}
}
]
}
}
]
}