Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 1 / 1
Регистрация: 12.08.2016
Сообщений: 40

Какой класс использовать для парса json?

17.06.2017, 13:49. Показов 672. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, нужно как то спарсить json, на соседнем форуме посоветовали использовать вот такие вот классы:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
public class AK47AquamarineRevengeBattleScarred
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class AK47AquamarineRevengeFactoryNew
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class AK47AquamarineRevengeFieldTested
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class AK47AquamarineRevengeMinimalWear
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class AK47AquamarineRevengeWellWorn
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class AK47BlackLaminateBattleScarred
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class AK47BlackLaminateFactoryNew
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class AK47BlackLaminateFieldTested
{
    public int price { get; set; }
    public int quantity { get; set; }
}
 
public class Response
{
    public AK47AquamarineRevengeBattleScarred __invalid_name__AK-47 | Aquamarine Revenge (Battle-Scarred) { get; set; }
    public AK47AquamarineRevengeFactoryNew __invalid_name__AK-47 | Aquamarine Revenge (Factory New) { get; set; }
    public AK47AquamarineRevengeFieldTested __invalid_name__AK-47 | Aquamarine Revenge (Field-Tested) { get; set; }
    public AK47AquamarineRevengeMinimalWear __invalid_name__AK-47 | Aquamarine Revenge (Minimal Wear) { get; set; }
    public AK47AquamarineRevengeWellWorn __invalid_name__AK-47 | Aquamarine Revenge (Well-Worn) { get; set; }
    public AK47BlackLaminateBattleScarred __invalid_name__AK-47 | Black Laminate (Battle-Scarred) { get; set; }
    public AK47BlackLaminateFactoryNew __invalid_name__AK-47 | Black Laminate (Factory New) { get; set; }
    public AK47BlackLaminateFieldTested __invalid_name__AK-47 | Black Laminate (Field-Tested) { get; set; }
}
 
public class RootObject
{
    public int status { get; set; }
    public Response response { get; set; }
    public int time { get; set; }
}
Для этого json
JSON
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
{
    "status": 1,
    "response": {
        "AK-47 | Aquamarine Revenge (Battle-Scarred)": {
            "price": 929,
            "quantity": 46
        },
        "AK-47 | Aquamarine Revenge (Factory New)": {
            "price": 2716,
            "quantity": 100
        },
        "AK-47 | Aquamarine Revenge (Field-Tested)": {
            "price": 1349,
            "quantity": 345
        },
        "AK-47 | Aquamarine Revenge (Minimal Wear)": {
            "price": 1919,
            "quantity": 143
        },
        "AK-47 | Aquamarine Revenge (Well-Worn)": {
            "price": 1135,
            "quantity": 204
        },
        "AK-47 | Black Laminate (Battle-Scarred)": {
            "price": 727,
            "quantity": 23
        },
        "AK-47 | Black Laminate (Factory New)": {
            "price": 6999,
            "quantity": 14
        },
        "AK-47 | Black Laminate (Field-Tested)": {
            "price": 671,
            "quantity": 83
        },
        "AK-47 | Black Laminate (Minimal Wear)": {
            "price": 795,
            "quantity": 132
        },
        "AK-47 | Black Laminate (Well-Worn)": {
            "price": 779,
            "quantity": 30
        },
        "AK-47 | Bloodsport (Factory New)": {
            "price": 5900,
            "quantity": 67
        },
        "AK-47 | Bloodsport (Field-Tested)": {
            "price": 4330,
            "quantity": 66
        },
        "AK-47 | Bloodsport (Minimal Wear)": {
            "price": 4910,
            "quantity": 61
        },
        "AK-47 | Bloodsport (Well-Worn)": {
            "price": 4586,
            "quantity": 5
        },
        "AK-47 | Blue Laminate (Factory New)": {
            "price": 324,
            "quantity": 593
        },
        "AK-47 | Blue Laminate (Field-Tested)": {
            "price": 253,
            "quantity": 778
        },
        "AK-47 | Blue Laminate (Minimal Wear)": {
            "price": 250,
            "quantity": 854
        },
        "AK-47 | Blue Laminate (Well-Worn)": {
            "price": 576,
            "quantity": 27
        },
        "AK-47 | Cartel (Battle-Scarred)": {
            "price": 276,
            "quantity": 59
        },
        "AK-47 | Cartel (Factory New)": {
            "price": 546,
            "quantity": 166
        },
        "AK-47 | Cartel (Field-Tested)": {
            "price": 250,
            "quantity": 457
        },
        "AK-47 | Cartel (Minimal Wear)": {
            "price": 300,
            "quantity": 185
        },
        "AK-47 | Cartel (Well-Worn)": {
            "price": 421,
            "quantity": 78
        },
        "AK-47 | Case Hardened (Battle-Scarred)": {
            "price": 2082,
            "quantity": 214
        },
        "AK-47 | Case Hardened (Factory New)": {
            "price": 4895,
            "quantity": 130
        },
        "AK-47 | Case Hardened (Field-Tested)": {
            "price": 2400,
            "quantity": 364
        },
        "AK-47 | Case Hardened (Minimal Wear)": {
            "price": 2800,
            "quantity": 375
        },
        "\u2605 StatTrak\u2122 Shadow Daggers | Urban Masked (Field-Tested)": {
            "price": 5555,
            "quantity": 11
        },
        "\u2605 StatTrak\u2122 Shadow Daggers | Urban Masked (Minimal Wear)": {
            "price": 6999,
            "quantity": 4
        },
        "\u2605 StatTrak\u2122 Shadow Daggers | Urban Masked (Well-Worn)": {
            "price": 6644,
            "quantity": 1
        }
    },
    "time": 1497616580
}
Но проблема в том что я не могу знать название каждого айтема что бы создать класс, как решить эту проблему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2017, 13:49
Ответы с готовыми решениями:

Какой класс использовать для представления времени
Мне нужно расписание сделать. Можно ,конечно, через дабл 13.30 , но как-то не по госту, наверное. Стринг ругается , если я вписываю 13:30,...

Как правильно распарсить json строку и какой для этого нужен класс?
Что-то вообще в голову не лезет, как правильно распарсить такую строку и какой для этого нужно написать класс: { "data":...

Какой класс использовать для парсинга JSON?
Собственно, какой класс юзать для парса? { "status": 1, "response": { "AK-47 | Aquamarine Revenge...

2
1152 / 860 / 263
Регистрация: 30.04.2009
Сообщений: 3,603
17.06.2017, 15:42
Цитата Сообщение от Sendo Посмотреть сообщение
Но проблема в том что я не могу знать название каждого айтема что бы создать класс
Десериализуйте response в Dictionary<string,PriceModel>
PriceModel - это класс, который сейчас у вас дублируется.
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
18.06.2017, 23:35
Точнее класс со свойством status : int и response: Dictionary<string,PriceModel>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2017, 23:35
Помогаю со студенческими работами здесь

Класс, для полей которого нужно использовать класс
Нужно помочь с этой частью, ну и проблемка - char для ФИО не переваривает пробелы. #include &quot;stdafx.h&quot; #include...

Можно ли использовать LINQ для разбора JSON?
У меня есть библиотека для &quot;парсинга&quot; JSON страницы, стыренная с http://json2csharp.com/#. Она выдает классы - скелеты для основы которая у...

Использовать абстрактный класс, статический класс, использовать: наследование, агрегирование, композицию
Добрый день. Нужна ваша помощь. Учусь в университете, задали придумать тему программы. в программе нужно использовать следующее:...

Класс для десериализации Json
{&quot;btc_usdt&quot;:{&quot;result&quot;:&quot;true&quot;,&quot;last&quot;:8565,&quot;lowestAsk&quot;:8569,&quot;highestBid&quot;:8509.36,&quot;percentChange&quot;:-8.046862156386,&quot;baseVolume&quot;:4948076.7,&quot;quote...

Подготовить класс для большого JSON
Помогите составить класс для JSONа по ссылке http://mobile165.hr.phobos.work/list(ну чтобы этот JSON можно было поместить в этот класс при...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru