Я использовал json2csharp для создания некоторых классов из моего JSON. Все работает, когда я deserialize с 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=="
}
}
]
}
}
]
}