Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Отследить действие пользователя (за компьютером он или нет) https://www.cyberforum.ru/ csharp-net/ thread2347623.html
Добрый день господа, помогите решить проблемку. Мне нужно понять находится ли пользователь за компьютером или нет. Есть форма, на ней таймер, сколько уже запущена программа. Но вот как мне понять,...
C# Как переписать программу под windows7/10?
Здравствуйте! Помогите решить проблему. Есть программа (видеоплеер) написаная под windows XP x32. Мне нужно ее переписать что бы открывалась на windows 7/ windows 10 x64. Подскажите что для этого...
C# Получение Jabber сообщений в оффлайне Вообщем установил протокол matrix для C# что бы работать с jabber Посидел поковырял прототип jabber client от matrix и возник один вопрос Как можно ли как то реализовать что бы например: мне на... https://www.cyberforum.ru/ csharp-net/ thread2347488.html C# Авторизация через webBrowser1 https://www.cyberforum.ru/ csharp-net/ thread2347013.html
Пытаюсь авторизоваться на сайте и перейти на другую страницу. private void button1_Click(object sender, EventArgs e) { // Начальная страница ...
C# Создать .txt файл с именем <СегодняшняяДата> и записать в него текст
Подскажите, как создать .txt файл с именем <СегодняшняяДата> и записать в него текст, а если такой файл уже существует, то записать текст в существующий файл. P.S.: Или, может, есть более изящное...
C# SSH.net client. command not found Всем доброго дня. С помощью ssh.net пытаюсь выполнять команды на кали линуксе. Простые команды (cd, ls) получаются и возвращают результат. Но например, ifconfig, iwconfig, airodump-ng показывают... https://www.cyberforum.ru/ csharp-net/ thread2346908.html
C# Применение операторов ветвления для решения вычислительных задач Лабораторная работа No3 https://www.cyberforum.ru/ csharp-net/ thread2346697.html
Приветствую, нужна помощь с этим заданием, номер варианта №24! Буду очень благодарен за помощь! Задания запрещено выкладывать в виде картинок. Выложите задание в виде текста. Формулы введите с...
C# Не могу открыть проект с GitHub
Всем привет! Пытаюсь скомпилировать данный проект, лезет куча ошибок, спасибо не прошедшим мимо! Visual Studio Comminity 2017 https://github.com/naice/MagicMirrorWIN
C# Как нажать на кнопку веб страницы через GET запрос? Как нажать на кнопку сайта алиэкспресс с помощью гет-запроса? https://www.cyberforum.ru/ csharp-net/ thread2346268.html C# "Не удается загрузить DLL Microsoft.DiaSymReader.Native.amd64.dll не найден указанный модуль" https://www.cyberforum.ru/ csharp-net/ thread2345739.html
программа Visual Studio Comunity 2017 выскакивает ошибка при записи информации отладки Не удается загрузить DLL Microsoft.DiaSymReader.Native.amd64.dll не найден указанный модуль. Ошибка - cs0041,...
C# Обработка множества heartbit-ов в тасках
Собственно, есть у меня приложение, которое выступает в качестве сервера. Есть некоторая куча клиентов, которые подключаются к нему по TCP и отсылают каждый как минимум раз в секунду хертбит (сигнал...
C# Image и оперативная память https://www.cyberforum.ru/ csharp-net/ thread2345519.html
Добрый день. Мне нужно отобразить картинку в PictureBox. У меня вопрос, можно ли как-то уменьшить объем потребляемой оперативки ( у меня уходит около 60 Мб при Image.FromFile() , для файла который...
0 / 0 / 0
Регистрация: 27.01.2014
Сообщений: 116
0

Десериализовать JSON - C# - Ответ 13043468

09.11.2018, 11:36. Показов 363. Ответов 1
Метки (Все метки)

Помогите десериализовать JSON. Нужны id и name из quests
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var json = 
{
     "obj":{"order":["q957","q479","q214"],
            "quests":{
                         "q214":{"width":10,"name":"Телефон","id":"q214","type":"free"},
                         "q479":{"width":15,"name":"Имя","type":"free","id":"q479"},
                         "q957":{"width":100,"name":"Город","id":"q957","type":"free"}
                    },
            "id":"a525",
            "param":{"system":0,"name":"Данные пользователя", "multi":0}},
     "request.id":"fake-EC06814E-E35B-11E8-B22D-F854389B935E",
     "duration":0.042354,
     "_ehid":"212432.23074209719.1541684457"
}
Максимум что получилось - получить quests, дальше не знаю как.

C#
1
2
3
4
5
6
7
8
9
10
11
    class Form
    {
        public Obj Obj { get; set; }
    }
 
    class Obj
    {
        public object Quests { get; set; }
    }
 
Form quests = JsonConvert.DeserializeObject<Form>(json);
Добавлено через 1 час 51 минуту
пока такой вариант:


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
                      foreach (var root in GetDeserialized<Dictionary<string, dynamic>>(json))
                        {
                            if (root.Key == "obj")
                            {
                                foreach (var obj in GetDeserialized<Dictionary<string, dynamic>>(root.Value.ToString()))
                                {
                                    if (obj.Key == "quests")
                                    {
                                        foreach (var quest in GetDeserialized<Dictionary<string, dynamic>>(obj.Value.ToString()))
                                        {
                                            string questJSON = quest.Value.ToString().Replace("\r\n", string.Empty);
                                            Quest questObj = GetDeserialized<Quest>(questJSON);
                                            forms.Add(new Form(questObj.Id, questObj.Name));
                                        }
                                    }
                                }
                            }
                        }
 
        private T GetDeserialized<T>(string source)
        {
            return JsonConvert.DeserializeObject<T>(source);
        }
Как упростить? Сделать через LINQ можно? Как-то ещё?

Вернуться к обсуждению:
Десериализовать JSON C#
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.11.2018, 11:36
Готовые ответы и решения:

Как правильно десериализовать ответ в Json
Как правильно десериализовать ответ в Json (С вложенными классами) используя библиотеку...

Какие объекты можно сериализовать и десериализовать в XML / JSON?
Здравствуйте. Как можно определять какие объекты можно серилизовать и десирилизовать в XML или...

Не могу десериализовать json-строку(как правильнее десериализировать, чтобы считать данные)?
json-строка: &quot;Information1&quot;: } десериализовал через json2csharp: public class ABC ...

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Дополнительные сведения: Cannot deserialize the current JSON object (e.g. {&quot;name&quot;:&quot;value&quot;}) into...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.11.2018, 11:36

Ошибка при обработке Json - Cannot deserialize the current JSON array because the type requires a JSON object
Всем привет! Помогите, плиз, разобраться с ошибкой: An unhandled exception of type...

Подскажите как десериализовать
Подскажите как десериализовать координаты { &quot;id&quot;: 1270260, &quot;name&quot;: &quot;State of...

Как правильно сереализовать и десериализовать.
помогите, пожалуйста, советом. Я сереализую структуру в одном проекте, а десереализую в другом. При...

Десериализовать ответ с веб-сервиса
Здравствуйте! Имеется списока List&lt;MyClass&gt;. class MyClass { public int id; ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.