Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
 Аватар для MrLong
23 / 23 / 7
Регистрация: 23.02.2012
Сообщений: 107

разобрать строку JSON

02.09.2013, 14:00. Показов 2192. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть класс
C#
1
2
3
4
5
class Person
{
    public string Name{get;set;}
    public string Email{get;set;}
}
есть строка JSON вида
{"ppl":[{"name":"long","email":"long_email","id" :"1"},{"name":"short","email":"short_ema il","id":"8"}]}

как мне преобразовать ЭТО в нужное количество объектов класса?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.09.2013, 14:00
Ответы с готовыми решениями:

Разобрать JSON
В ответ от сайта приходит вот такой текс в формате JSON. Дело в том, что я ужастно разбираюсь в библиотеках с JSON и никогда у меня...

Нужно разобрать JSON. DataContractJsonSerializer?
В ответ на HTTP запрос сервер отдаёт мне данные в JSON. Структура следующая: { "request_data": { ...

Как правильно разобрать JSON?
Добрый день! Пытаюсь разобрать Json ответ от API на классы итд. Классы сгенерировал на jsonutils.com Скопировал в проект,...

1
What? Where? Why?
106 / 106 / 32
Регистрация: 16.10.2012
Сообщений: 459
03.09.2013, 00:19
Вот вам универсальный класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class JSON
    {
        public static string To<T>(T obj)
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
            string retVal;
            using (MemoryStream ms = new MemoryStream())
            {
                serializer.WriteObject(ms, obj);
                retVal = Encoding.UTF8.GetString(ms.ToArray());
            }
            return retVal;
        }
 
        public static T From<T>(string json)
        {
            T obj = Activator.CreateInstance<T>();
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
                obj = (T)serializer.ReadObject(ms);
            }
 
            return obj;
        }
    }
Не забываем про подключение:
C#
1
2
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
Если компилятор будет ругаться на их отсутствие, то правой кнопкой по проекту - добавить ссылку и ищем эту библиотеку - добавляем.

Над классом не забываем ставить атрибут:
C#
1
[DataContract]
Над полями атрибут:
C#
1
[DataMember]
Вам останется только разбить строку Split'ом по запятым и по одиночке "кормить" строки методу From, который будет возвращать экземпляр вашего класса.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.09.2013, 00:19
Помогаю со студенческими работами здесь

Подскажите пожалуйста, как разобрать такой json
всем привет, в с# буквально пару дней и мне сложно понять, как разбирать json. в пхп была функция json_decode, которая фактически делала...

Разобрать строку кода
Подскажите пожалуйста , не пойму строку : if (this.Last == rez_prov) На странице ...

Разобрать строку regex
Есть строка string line = &quot;1&quot;,&quot;C0805&quot;,&quot;C1&quot;,&quot;R0805&quot;,&quot;&quot;,&quot;0603-X7R-25V-N+-10%&quot;,&quot;&quot;MuRata&quot;&quot;,&quot;&quot;Capacitor&quot;&quot;,&quot;2.2uF&quot; Можно ли её распарсить с...

Разобрать строку (распарсить)
Всем привет, как можно правильно распарсить строку приерного вида? msg = &quot;temp1 = 25C, temp2=33, humidity = 85, light level = 57...

Как разобрать строку?
Text = &quot;Liverpool\r\nMan Utd\r\n12:30 72\r\n4/5 1/1&quot; помогите pls


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 23.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru