прошу прощения, если об этом спрашивали раньше, но я попытался найти здесь несколько ответов, но я не смог их найти.
В любом случае, у меня похожая проблема с этим вопросом:
Разбор JSON с использованием Json.net
это решает некоторую проблему, но я запутался в моих данных JSON. вот данные JSON
{
"messages":[
{
"message":"hilo",
"timestamp":"23:55",
"uid1":"7",
"name":"shiftypowers"
}
],
"total_messages":"1",
"last_timestamp":"1304265309",
"buddylist":{
"476":{
"name":"Gandang_hari",
"status":"1"
},
"506":{
"name":"ichigo",
"status":"1"
},
"186":{
"name":"Jinn",
"status":"1"
},
"7":{
"name":"shiftypowers",
"status":"1"
},
"total":4
}
}
Если вы заметили цифры 476, 506, 186 и 7 - это были идентификаторы пользователей, и я собираюсь разобраться с тысячами идентификаторов пользователей в будущем.
Вопрос в том, как это десериализовать?
вот мой код
public class ElakoChatPollData
{
public ElakoChatPollData()
{
messages = new List();
}
public List messages { get; set; }
public string total_messages { get; set; }
public string last_timestamp { get; set; }
public buddylist buddylist { get; set; }
}
public class messages
{
public string message { get; set; }
public string timestamp { get; set; }
public string uid1 { get; set; }
public string name { get; set; }
}
public class buddylist
{
// what should I put here ??
//public List uid { get; set; } // i don't think this is correct
public Dictionary Users { get; private set; }
public string total { get; set; }
}
public class userinfo
{
public string name { get; set; }
public string status { get; set; }
}
// and serializing the json looks like this
JavaScriptSerializer ser = new JavaScriptSerializer();
ChatPollData epd = ser.Deserialize<ChatPollData>(jsonchatpoll);
Console.Writeline(epd.buddylist.Users[0].name); // i get Object reference not set ~~~~
если приведенный выше код правильный .. как я могу получить идентификаторы пользователя? и кстати, данные json будут запрашиваться из модуля drupal (drupalchat)