C# + JSON

shushik81

Client
Регистрация
09.04.2013
Сообщения
67
Благодарностей
14
Баллы
8
Всем привет.
При работе с C# и Json столкнулся с такой проблемой

При API запросе к сервису активации он выдает Json объект с пробелом
Как я могу получить доступ к нему? Ведь пробел в коде не воспринимается
Нигде решения не нашел


Такой код не подходит. Перебором? Или может как то по номеру совпадения можно?
Чето у меня ничего не получается
Код:
var count = project.Json.counts Vkontakte;
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 643
Баллы
113
может так можно
project.Json["counts Vkontakte"]
 
  • Спасибо
Реакции: shushik81

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
project.Json[project.Variables["counts Vkontakte"].Value]
 
  • Спасибо
Реакции: shushik81

shushik81

Client
Регистрация
09.04.2013
Сообщения
67
Благодарностей
14
Баллы
8
может так можно
project.Json["counts Vkontakte"]
Выполнение действия CSharp OwnCode Невозможно применить индексирование через [] к выражению типа "ZennoLab.JXParser.JsonDynamic"
Не получается

project.Json[project.Variables["counts Vkontakte"].Value]
А что тут получится?
Честно говоря не понял, вставил этот код, но все равно не работает
Выполнение действия CSharp OwnCode No such variable: counts Vkontakte
Такую переменную невозможно создать в проекте

А перебором можно как то?
Или получается Json надо по другому как то парсить?
Встроенная возможность не позволяет обратиться к такому параметру?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
C#:
project.Json.FromString(project.Variables["counts Vkontakte"].Value);
пробуй
 
  • Спасибо
Реакции: shushik81

ZHAG

Client
Регистрация
01.05.2014
Сообщения
228
Благодарностей
220
Баллы
43
прикрепи сам json объект чтоб проверить.

C#:
string otvet = project.Variables["otvetApi"];//возьмем строку джисон в сниппет
JavaScriptSerializer ser = new JavaScriptSerializer();// создадим серелазер
Dictionary<string, dynamic> dict = ser.Deserialize(otvet);// обработаем строку джисон получим объект словарь
project.Variables["peremenProecta"] = dict["counts Vkontakte"];// возмем данные из словаря

/*
Dictionary<string, dynamic> может хранить в себе любые объекты, даже массивы,
так что обращаться к данным нужно соответсвенно, если есть массив значит
[n] - вернет элемент с индексом n
*/
чтобы заработало нужно подключить ссылку на сборку system.web.extensions.dll


и директиву
 

shushik81

Client
Регистрация
09.04.2013
Сообщения
67
Благодарностей
14
Баллы
8
Все ребят спасибо
Это я дурень не доглядел, что они поменяли апи запросы, и добавили новый метод
Теперь все парсится нормально и можно работать дальше. Видать не только у меня были такие вопросы к ним
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
818
Благодарностей
141
Баллы
43
прикрепи сам json объект чтоб проверить.

C#:
string otvet = project.Variables["otvetApi"];//возьмем строку джисон в сниппет
JavaScriptSerializer ser = new JavaScriptSerializer();// создадим серелазер
Dictionary<string, dynamic> dict = ser.Deserialize(otvet);// обработаем строку джисон получим объект словарь
project.Variables["peremenProecta"] = dict["counts Vkontakte"];// возмем данные из словаря

/*
Dictionary<string, dynamic> может хранить в себе любые объекты, даже массивы,
так что обращаться к данным нужно соответсвенно, если есть массив значит
[n] - вернет элемент с индексом n
*/
чтобы заработало нужно подключить ссылку на сборку system.web.extensions.dll


и директиву
А вот у меня так и не заработало. Выдаёт такую ошибку:
Ошибка в действии "CS0200" "Невозможно присвоить значение свойству или индексатору "ZennoLab.InterfacesLibrary.ProjectModel.Collections.ILocalVariables.this[string]" -- доступ только для чтения". [Строка: 3; Cтолбец: 1]
Как быть?
 

ZHAG

Client
Регистрация
01.05.2014
Сообщения
228
Благодарностей
220
Баллы
43
  • Спасибо
Реакции: avtostopshik

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)