Десериализация Json с двумя массивами - C#

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

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

Есть файл в который записывается массив юзеров в формате Json (записанно два раза)
Листинг программы
  1. [
  2. {
  3. "Id": 1,
  4. "Name": {
  5. "First": "***",
  6. "Last": "***"
  7. },
  8. "Home": {
  9. "Country": "***",
  10. "Region": "***",
  11. "City": "***",
  12. "Street": "***",
  13. "Apartment": "****"
  14. },
  15. "Info": {
  16. "Birth": "***"
  17. },
  18. "Contact": {
  19. "Email": "***",
  20. "Skype": "***",
  21. "Site": "***"
  22. },
  23. "Authentification": {
  24. "Email": "***",
  25. "Password": "***"
  26. }
  27. },
  28. {
  29. "Id": 2,
  30. "Name": {
  31. "First": "***",
  32. "Last": "***"
  33. },
  34. "Home": {
  35. "Country": "***",
  36. "Region": "***",
  37. "City": "***",
  38. "Street": "***",
  39. "Apartment": "***"
  40. },
  41. "Info": {
  42. "Birth": "***"
  43. },
  44. "Contact": {
  45. "Email": "***",
  46. "Skype": "***",
  47. "Site": "***"
  48. },
  49. "Authentification": {
  50. "Email": "***",
  51. "Password": "***"
  52. }
  53. }
  54. ]
  55. [
  56. {
  57. "Id": 1,
  58. "Name": {
  59. "First": "***",
  60. "Last": "***"
  61. },
  62. "Home": {
  63. "Country": "***",
  64. "Region": "***",
  65. "City": "***",
  66. "Street": "***",
  67. "Apartment": "***"
  68. },
  69. "Info": {
  70. "Birth": "***"
  71. },
  72. "Contact": {
  73. "Email": "***",
  74. "Skype": "***",
  75. "Site": "***"
  76. },
  77. "Authentification": {
  78. "Email": "***",
  79. "Password": "***"
  80. }
  81. },
  82. {
  83. "Id": 2,
  84. "Name": {
  85. "First": "***",
  86. "Last": "***"
  87. },
  88. "Home": {
  89. "Country": "***",
  90. "Region": "***",
  91. "City": "***",
  92. "Street": "***",
  93. "Apartment": "***"
  94. },
  95. "Info": {
  96. "Birth": "***"
  97. },
  98. "Contact": {
  99. "Email": "***",
  100. "Skype": "***",
  101. "Site": "***"
  102. },
  103. "Authentification": {
  104. "Email": "***",
  105. "Password": "***"
  106. }
  107. }
  108. ]
Когда питаюсь десериализовать , выдает
"Newtonsoft.Json.JsonReaderException" в Newtonsoft.Json.dll Дополнительные сведения: Additional text encountered after finished reading JSON content: [. Path '', line 55, position 0.
Не может десериализовать второй массив юзеров. Сериализация
Листинг программы
  1. public void Save(params User[] user)
  2. {
  3. using (StreamWriter sw = new StreamWriter(_path,true))
  4. {
  5. sw.WriteLine(JsonConvert.SerializeObject(user, Formatting.Indented));
  6. }
  7. }
Десериализация
Листинг программы
  1. private User[] GetUsers()
  2. {
  3. return JsonConvert.DeserializeObject<User[]>(File.ReadAllText(_path));
  4. }
Как решить проблему?

Решение задачи: «Десериализация Json с двумя массивами»

textual
Листинг программы
  1. public class Name
  2. {
  3.     public string First { get; set; }
  4.     public string Last { get; set; }
  5. }
  6.  
  7. public class Home
  8. {
  9.     public string Country { get; set; }
  10.     public string Region { get; set; }
  11.     public string City { get; set; }
  12.     public string Street { get; set; }
  13.     public string Apartment { get; set; }
  14. }
  15.  
  16. public class Info
  17. {
  18.     public string Birth { get; set; }
  19. }
  20.  
  21. public class Contact
  22. {
  23.     public string Email { get; set; }
  24.     public string Skype { get; set; }
  25.     public string Site { get; set; }
  26. }
  27.  
  28. public class Authentification
  29. {
  30.     public string Email { get; set; }
  31.     public string Password { get; set; }
  32. }
  33.  
  34. public class RootObject
  35. {
  36.     public int Id { get; set; }
  37.     public Name Name { get; set; }
  38.     public Home Home { get; set; }
  39.     public Info Info { get; set; }
  40.     public Contact Contact { get; set; }
  41.     public Authentification Authentification { get; set; }
  42. }

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


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

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

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

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

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

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