Ошибка конвертации типов C#

SlipDez

Client
Регистрация
18.07.2018
Сообщения
374
Благодарностей
70
Баллы
28
Задача была отправить Post запрос ответ приходит в виде json далее делаю парсинг с помощью кубика и пытаюсь выдернуть значения из переменных json но ругается на конвертацию типов

C#:
int b = project.Json.result.items.Count; //тут пишет количество позиций
for (int a=0; a<b; a++){
    int c = a++;
    string tmp = (project.Json.result.items[a].offer_id); //тут находится уникальный номер позиций
            project.SendInfoToLog((tmp).ToString());// вывод в лог на этом этапе все работает нормально
    string tmp2 = Convert.ToString(project.Json.result.items[a].stocks[c].present); //Тут количество число от 0 до 3000 без пробелов на этом этапе не хочет работать ругается на на конвертацию long to string
        project.SendInfoToLog(tmp2);
}
По идее когда значение берется из переменной оно имеет текст но почему-то ругается на конвертацию типов. Что я делаю неправильно?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 764
Благодарностей
2 407
Баллы
113
Попробуйте вот так, может сработает.
C#:
string tmp2 =project.Json.result.items[a].stocks[c].present.ToObject<string>();
 
  • Спасибо
Реакции: SlipDez и djaga

djaga

Client
Регистрация
26.04.2020
Сообщения
505
Благодарностей
1 052
Баллы
93
Задача была отправить Post запрос ответ приходит в виде json далее делаю парсинг с помощью кубика и пытаюсь выдернуть значения из переменных json но ругается на конвертацию типов

C#:
int b = project.Json.result.items.Count; //тут пишет количество позиций
for (int a=0; a<b; a++){
    int c = a++;
    string tmp = (project.Json.result.items[a].offer_id); //тут находится уникальный номер позиций
            project.SendInfoToLog((tmp).ToString());// вывод в лог на этом этапе все работает нормально
    string tmp2 = Convert.ToString(project.Json.result.items[a].stocks[c].present); //Тут количество число от 0 до 3000 без пробелов на этом этапе не хочет работать ругается на на конвертацию long to string
        project.SendInfoToLog(tmp2);
}
По идее когда значение берется из переменной оно имеет текст но почему-то ругается на конвертацию типов. Что я делаю неправильно?
или так:
C#:
int b = project.Json.result.items.Count; //тут пишет количество позиций
for (int a = 0; a < b; a++)
{
    int c = a++;
    string tmp = project.Json.result.items[a].offer_id; //тут находится уникальный номер позиций
    project.SendInfoToLog(tmp); // вывод в лог на этом этапе все работает нормально
    string tmp2 = project.Json.result.items[a].stocks[c].present.ToString(); //Тут количество число от 0 до 3000 без пробелов на этом этапе не хочет работать ругается на на конвертацию long to string
    project.SendInfoToLog(tmp2);
}
Т.к. так работает:
C#:
dynamic d = 333;
string s = d.ToString();

project.SendInfoToLog(s);
 
Последнее редактирование:
  • Спасибо
Реакции: SlipDez

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