powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Десериализация
11 сообщений из 11, страница 1 из 1
Десериализация
    #39460331
t1975453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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.
public class Seeding
        {
            public bool ok;
            public Dictionary<string, Seeded> seed;
        }
public class Seeded
        {
            public Fox grand;
        }
public class Fox
        {
            public int id;
            public int type;
            public int quant;
            public int needed;
            public int progress;
            public int ticker;
            public int eta;
            public int status;
            public int canCancel;
        }
private void button3_Click(object sender, EventArgs e)
        {
string json = {"ok":true,
                      "seed":{"grand": 
                           {"i87876": {
				"u553958": {
					"id": "553958",
					"type": "0",
					"quant": "0",
					"needed": "0",
					"progress": "0",
					"ticker": "0",
					"eta": "0",
					"status": "0",
					"canCancel": 1
				},;
            
            Seeding output = JsonConvert.DeserializeObject<Seeding>(json);
            textBox1.text = output.seed.ToString();

}



И именно на этапе десериализации выдает ошибку json? В чем может быть проблема?
...
Рейтинг: 0 / 0
Десериализация
    #39460337
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
первая проблема в том, что это не json, а его огрызок.
...
Рейтинг: 0 / 0
Десериализация
    #39460360
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyпервая проблема в том, что это не json, а его огрызок.
Мне кажется, строка так вообще не может быть инициализирована... какие то круглые скобки в начале, это же не массив, а строка инициализируется... автор какую то лабуду напиал, либо сам не понимает, что делает, либо просто на коленке пример составлен :)
...
Рейтинг: 0 / 0
Десериализация
    #39460372
t1975453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это приведен пример json, точнее часть его. Он берется с пост запроса. Я не стал полностью его выкладывать, он слишком большой, и показал в качестве примера. Согласен, что так строка не пишется, не скомпилируется этот код. Я вообще о переменных и объектах, может где то упустил?
...
Рейтинг: 0 / 0
Десериализация
    #39460373
t1975453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему именно это
Код: c#
1.
Seeding output = JsonConvert.DeserializeObject<Seeding>(json);

не срабатывает
...
Рейтинг: 0 / 0
Десериализация
    #39460404
Addx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t1975453,

Не нужно было такой большой пример, достаточно было:

Код: c#
1.
2.
3.
4.
				"progress": "0",
					"ticker": "0",

             Seeding output = JsonConvert.DeserializeObject<Seeding>(json);



Почему не срабатывает?
...
Рейтинг: 0 / 0
Десериализация
    #39460612
Sergey S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделай объект типа Seeding, заполни данные и конвертани в JSON. Ну и сравни с тем что обрабатываешь изначально
...
Рейтинг: 0 / 0
Десериализация
    #39460624
winsky!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Десериализация
    #39460920
t1975453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, я разобрался с этим.
Только подскажите как массив преобразовать в переменную и записать в label? Ниже по коду не получилось(
Код: 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.
public class Seeding
        {
            public bool ok;
            public Seeded seed;
        }
public class Seeded
        {
             public List<List<string>> cit;
        }

private void button1_Click(object sender, EventArgs e)
        {
string json = @"{"ok": true,
                        "seed": {
                                    "cit": [
			                          ["11111", "NewTor", "16", "444", "9", "321104", "1"],
			                          ["222222", "Any", "16", "443", "9", "321103", "2"],
			                        ],
                                     }
                       }";
            
            Seeding output = JsonConvert.DeserializeObject<Seeding>(json);
            foreach (var for in output.cities)
                {
                    label1.text = output.cit;
                    
                }           
}
...
Рейтинг: 0 / 0
Десериализация
    #39461330
Sergey S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну опять сериализовать, в JSON но только нужную тебе часть (массив). И его пихай в свой лэйбл
...
Рейтинг: 0 / 0
Десериализация
    #39461434
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t1975453Только подскажите как массив преобразовать в переменную и записать в label?

Код: c#
1.
label.Text = string.Join(", ", output.cities);


Нэ?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Десериализация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]