Парсинг Json - C# (182257)

Узнай цену своей работы

Формулировка задачи:

Удается получить только update id не могу понять как получить остальные данные. Подскажите пожалуйста что я делаю не так.
Листинг программы
  1. {
  2. "ok":true,
  3. "result":[
  4. {
  5. "update_id":410795694,
  6. "message":{
  7. "message_id":234,
  8. "from":{
  9. "id":162994588,
  10. "first_name":"Vadim",
  11. "last_name":"Yakovets",
  12. "username":"Vex788"
  13. },
  14. "chat":{
  15. "id":162994588,
  16. "first_name":"Vadim",
  17. "last_name":"Yakovets",
  18. "username":"Vex788",
  19. "type":"private"
  20. },
  21. "date":1478271187,
  22. "text":"\u043f\u0440\u0438\u0432"
  23. }
  24. },
  25. {
  26. "update_id":410795695,
  27. "message":{
  28. "message_id":235,
  29. "from":{
  30. "id":162994588,
  31. "first_name":"Vadim",
  32. "last_name":"Yakovets",
  33. "username":"Vex788"
  34. },
  35. "chat":{
  36. "id":162994588,
  37. "first_name":"Vadim",
  38. "last_name":"Yakovets",
  39. "username":"Vex788",
  40. "type":"private"
  41. },
  42. "date":1478271258,
  43. "text":"\u043a\u0430\u043a \u0442\u044b?"
  44. }
  45. },
  46. {
  47. "update_id":410795696,
  48. "message":{
  49. "message_id":236,
  50. "from":{
  51. "id":162994588,
  52. "first_name":"Vadim",
  53. "last_name":"Yakovets",
  54. "username":"Vex788"
  55. },
  56. "chat":{
  57. "id":162994588,
  58. "first_name":"Vadim",
  59. "last_name":"Yakovets",
  60. "username":"Vex788",
  61. "type":"private"
  62. },
  63. "date":1478271300,
  64. "text":"\u043d\u043e\u0440\u043c?"
  65. }
  66. }
  67. ]
  68. }
Листинг программы
  1. [JsonObject(MemberSerialization.OptIn)]
  2. struct MessageObject
  3. {
  4. [JsonProperty("message_id")]
  5. public string message_id { get; set; }
  6. [JsonProperty("id")]
  7. public string id { get; set; }
  8. [JsonProperty("first_name")]
  9. public string first_name { get; set; }
  10. [JsonProperty("last_name")]
  11. public string last_name { get; set; }
  12. [JsonProperty("username")]
  13. public string username { get; set; }
  14. [JsonProperty("type")]
  15. public string type { get; set; }
  16. [JsonProperty("date")]
  17. public string date { get; set; }
  18. [JsonProperty("text")]
  19. public string text { get; set; }
  20. }
  21. private void Form1_Load(object sender, EventArgs e)
  22. {
  23. string jsonString = URLData.GetJson();
  24. MessageBox.Show(jsonString);
  25. if (jsonString != "error")
  26. {
  27. Newtonsoft.Json.Linq.JObject obj = Newtonsoft.Json.Linq.JObject.Parse(jsonString);
  28. MyJsonObject[] objArr = JsonConvert.DeserializeObject<MyJsonObject[]>(obj["result"].ToString());
  29. foreach (MessageObject myJsonObj in objArr)
  30. {
  31. MessageBox.Show("update_id: " + myJsonObj.update_id);
  32. MessageBox.Show("text: " + myJsonObj.text);
  33. MessageBox.Show("username: " + myJsonObj.username);
  34. }
  35. }
  36. else
  37. {
  38. MessageBox.Show("Error!");
  39. }
  40. }

Решение задачи: «Парсинг Json»

textual
Листинг программы
  1. public class From
  2. {
  3.     public int id { get; set; }
  4.     public string first_name { get; set; }
  5.     public string last_name { get; set; }
  6.     public string username { get; set; }
  7. }
  8.  
  9. public class Chat
  10. {
  11.     public int id { get; set; }
  12.     public string first_name { get; set; }
  13.     public string last_name { get; set; }
  14.     public string username { get; set; }
  15.     public string type { get; set; }
  16. }
  17.  
  18. public class Message
  19. {
  20.     public int message_id { get; set; }
  21.     public From from { get; set; }
  22.     public Chat chat { get; set; }
  23.     public int date { get; set; }
  24.     public string text { get; set; }
  25. }
  26.  
  27. public class Result
  28. {
  29.     public int update_id { get; set; }
  30.     public Message message { get; set; }
  31. }
  32.  
  33. public class RootObject
  34. {
  35.     public bool ok { get; set; }
  36.     public List<Result> result { get; set; }
  37. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут