Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разбор JSON с помощью JavaScriptSerializer 
:(
    Опции темы
TIT
  Дата 28.2.2011, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 4.4.2010

Репутация: нет
Всего: 3



Есть неработающий код:
Код

string responseFromServer = "[{\"id\":\"1\",\"short_name\":\"foo\"},{\"id\":\"2\",\"short_name\":\"bar\"}]";
Dictionary<string, string> dic = new JavaScriptSerializer().Deserialize<Dictionary<string, string>>(responseFromServer);


IDE ругается:
Цитата

Тип "System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]" не поддерживается для десериализации массива.


Мне нужно получить в цикле значение всех полей short_name.
Подскажите в какую сторону копать?

Microsoft Visual Studio 2010
Версия 10.0.30319.1 RTMRel
Платформа Microsoft .NET Framework
Версия 4.0.30319 RTMRel

Установленная версия: C# Express

Microsoft Visual C# 2010   01014-532-2002262-70023
Microsoft Visual C# 2010

PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
diadiavova
Дата 28.2.2011, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142





--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
TIT
Дата 1.3.2011, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 4.4.2010

Репутация: нет
Всего: 3



Перечитал на сколько смог ещё раз документацию и пришёл к тому, что могу получить разобранный JSON в виде object.
Код

object obj = new JavaScriptSerializer().DeserializeObject(responseFromServer);

user posted image
Я вижу, что мой object obj правильно заполнился данными.
Но сколько бы я не пытался в цикле получить значение определённого поля, у меня никак не получается.
Запись вида:
Код

FieldInfo[] myFieldInfo = obj.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public);

Не заполняет переменную FieldInfo[] myFieldInfo, чтобы потом из неё что-то получить.


PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0868 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.