Цикл сбора значений из json переменных на с#

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28
Есть данные json после обработанные после кубика "парсинг json": переменная и значение переменной
result[0].last значение переменной
result[1].last значение переменной
result[2].last значение переменной
result[3].last значение переменной
и тд.
Как в цикле на с#(одним кубиком) выполнить арифметические действия с значениями переменных json?
Допустим: значение result[0].last+значение result[1].last*значение result[2].last
Результат вывести в переменную
 

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
C#:
int res = 0;

for (int i = 0; i < 3; i++){
    try{
        res += Convert.ToInt32(project.Json.result[i].last);
    }
    catch{
        break;
    }
}
return res;
 
  • Спасибо
Реакции: Dorian_Gray и Home_KreKer

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28
C#:
int res = 0;

for (int i = 0; i < 3; i++){
    try{
        res += Convert.ToInt32(project.Json.result[i].last);
    }
    catch{
        break;
    }
}
return res;
Спасибо, складывает, а если мне нужно сложить две первых и потом умножить на третью переменную, как у меня в примере?
 

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
Извиняюсь, не дочитал. Думал вам нужно сложить все переменные.
C#:
int res = 0;
res = Convert.ToInt32(project.Json.result[1].last) + Convert.ToInt32(project.Json.result[2].last) * Convert.ToInt32(project.Json.result[i].last);
project.Variables["Название переменной"].Value = res;
Если единоразово.
 
  • Спасибо
Реакции: Home_KreKer

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28
Извиняюсь, не дочитал. Думал вам нужно сложить все переменные.
C#:
int res = 0;
res = Convert.ToInt32(project.Json.result[1].last) + Convert.ToInt32(project.Json.result[2].last) * Convert.ToInt32(project.Json.result[i].last);
project.Variables["Название переменной"].Value = res;
Если единоразово.
Нужно так же в цикле, не единоразово? к примеру: res = Convert.ToInt32(project.Json.result[от 1 до 10 ].last) + Convert.ToInt32(project.Json.result[от 11 до 20 ].last) * Convert.ToInt32(project.Json.result[от 20 до 30 ].last);
 

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
Нужно так же в цикле, не единоразово? к примеру: res = Convert.ToInt32(project.Json.result[от 1 до 10 ].last) + Convert.ToInt32(project.Json.result[от 11 до 20 ].last) * Convert.ToInt32(project.Json.result[от 20 до 30 ].last);
Может лучше в список выводить? Если у вас фиксированное количество переменных в json и нужно выводить результат каждых трех последующих переменных.

C#:
var list = project.Lists["Название листа"];//запоминаем в динамическую переменную адрес списка, с которым будем работать
int res = 0;//временная переменная для результата

//цикл с количеством итераций, пока есть переменные json
//увеличиваем счетчик на 3
for (int i = 0;; i += 3){
    //если будет ошибка, то есть нет переменной json, то выходим из цикла
    try{
        //делаем вычисления трех посоедовательных переменных
        res = Convert.ToInt32(project.Json.result[i].last) + Convert.ToInt32(project.Json.result[i + 1].last) * Convert.ToInt32(project.Json.result[i + 2].last);
        //добавляем в список результат вычесления
        list.Add(res.ToString());
    }
    //выходим из цикла командой break
    catch{
        break;
    }
}
Должно работать.
 
Последнее редактирование:
  • Спасибо
Реакции: Markrivatov и Home_KreKer

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28
Не знаю, как лучше, опыта практически - нет.
Пожалуйста, можете сделать комментарий к коду со списком? к каждой строке кода?
И может быть можете посоветовать где прочитать, документацию с примерами(книгу,интернет ресурс) по с# при работе json переменных в цикле, я был бы очень благодарен.
 

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
Не знаю, как лучше, опыта практически - нет.
Пожалуйста, можете сделать комментарий к коду со списком? к каждой строке кода?
И может быть можете посоветовать где прочитать, документацию с примерами(книгу,интернет ресурс) по с# при работе json переменных в цикле, я был бы очень благодарен.
Вам нужно строить логику и читать как правильно эту логику интегрировать в коде.
Любой учебник по программированию.
P.S. Добавил комментарии.
 

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28
Логически порядок действий который мне нужно сделать - понимаю: что на что умножить, сложить, разделить.
Не знаю, как записать это в код на c# . У зеннопостера нет таких встроенных инструментов(в цикле собрать данные из json в статические переменные.)
Мне нужно именно понять, как c# работает с динамическими переменными json - синтаксис написания кода (сбор данных из переменных в цикле)
П.С Спасибо за помощь, буду пробовать.
 

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
457
Баллы
63
Логически порядок действий который мне нужно сделать - понимаю: что на что умножить, сложить, разделить.
Не знаю, как записать это в код на c# . У зеннопостера нет таких встроенных инструментов(в цикле собрать данные из json в статические переменные.)
Мне нужно именно понять, как c# работает с динамическими переменными json - синтаксис написания кода (сбор данных из переменных в цикле)
П.С Спасибо за помощь, буду пробовать.
В c# не очень удобно работать с JSON.
Как вариант можешь обработать эти данные в javascript и в результате получить только нужное.
 

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28
В c# не очень удобно работать с JSON.
Как вариант можешь обработать эти данные в javascript и в результате получить только нужное.
Спасибо за совет, можете написать пример?
 

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
457
Баллы
63
Спасибо за совет, можете написать пример?
В кубике с JS указываешь выполнить на текущей странице
Вставляешь json из переменной zp в этот кубик присваивая его одной из переменных js
Затем на js делаешь обработку этих данных и в конце отдаешь результат уже в переменную zp
https://learn.javascript.ru/json
 
  • Спасибо
Реакции: Home_KreKer

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
457
Баллы
63
  • Спасибо
Реакции: Home_KreKer

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28

Home_KreKer

Client
Регистрация
05.12.2016
Сообщения
160
Благодарностей
37
Баллы
28
Может лучше в список выводить? Если у вас фиксированное количество переменных в json и нужно выводить результат каждых трех последующих переменных.

C#:
var list = project.Lists["Название листа"];//запоминаем в динамическую переменную адрес списка, с которым будем работать
int res = 0;//временная переменная для результата

//цикл с количеством итераций, пока есть переменные json
//увеличиваем счетчик на 3
for (int i = 0;; i += 3){
    //если будет ошибка, то есть нет переменной json, то выходим из цикла
    try{
        //делаем вычисления трех посоедовательных переменных
        res = Convert.ToInt32(project.Json.result[i].last) + Convert.ToInt32(project.Json.result[i + 1].last) * Convert.ToInt32(project.Json.result[i + 2].last);
        //добавляем в список результат вычесления
        list.Add(res.ToString());
    }
    //выходим из цикла командой break
    catch{
        break;
    }
}
Должно работать.
Добрый день. у меня есть еще вопросы по json, можно вам еще задать вопросы?
 

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