Проверить существование переменной

  • Автор темы Автор темы Zonteak
  • Дата начала Дата начала

Zonteak

Client
Регистрация
25.02.2021
Сообщения
14
Реакции
1
Баллы
3
Как проверить существование переменной в JSON {-Json.response.name-} ?
 
  • Спасибо
Реакции: udder
Если использовать условие if
if (result.name) {-Json.response.name- } и условие прописать есть или нет
на просторах много вариантов
вот вариант
 
Последнее редактирование:
  • Спасибо
Реакции: Zonteak
аналогичный вопрос. Как вы вышли из ситуации @Zonteak ? совет от @Judje2018 не понял.

возможно, у кого то есть по-лучше решение через стандартные зенно методы, но пока так:

C#:
Развернуть Свернуть Копировать
// ищем переменую json по точному названию, к примеру Json-переменная "response.name"
foreach(var s in project.Json.GetType().GetMethod("GetAllMembersList").Invoke(project.Json,null))
    if (s.Key != "response.name") throw new Exception("переменная отсутcтвует!");


C#:
Развернуть Свернуть Копировать
// ищем Json-переменную по вхождению, пример "response.name.alert" или "response.name.[1].[2]" и тд
foreach(var s in project.Json.GetType().GetMethod("GetAllMembersList").Invoke(project.Json,null))
    if (!s.Key.Contains("response.name")) throw new Exception("переменная отсутcтвует!");
 
  • Спасибо
Реакции: udder
возможно, у кого то есть по-лучше решение через стандартные зенно методы, но пока так:

C#:
Развернуть Свернуть Копировать
// ищем переменую json по точному названию, к примеру Json-переменная "response.name"
foreach(var s in project.Json.GetType().GetMethod("GetAllMembersList").Invoke(project.Json,null))
    if (s.Key != "response.name") throw new Exception("переменная отсутcтвует!");


C#:
Развернуть Свернуть Копировать
// ищем Json-переменную по вхождению, пример "response.name.alert" или "response.name.[1].[2]" и тд
foreach(var s in project.Json.GetType().GetMethod("GetAllMembersList").Invoke(project.Json,null))
    if (!s.Key.Contains("response.name")) throw new Exception("переменная отсутcтвует!");
@Ilshakin
не работает., хотя переменная Json.objects[0].images[11].url есть
// ищем переменую json по точному названию, к примеру Json-переменная "response.name"
foreach(var s in project.Json.GetType().GetMethod("GetAllMembersList").Invoke(project.Json,null))
if (s.Key != "objects[0].images[11].url") throw new Exception("переменная отсутcтвует!");
 
@Ilshakin
не работает., хотя переменная Json.objects[0].images[11].url есть
// ищем переменую json по точному названию, к примеру Json-переменная "response.name"
foreach(var s in project.Json.GetType().GetMethod("GetAllMembersList").Invoke(project.Json,null))
if (s.Key != "objects[0].images[11].url") throw new Exception("переменная отсутcтвует!");

C#:
Развернуть Свернуть Копировать
foreach (var s in project.Json)
    if (!s.ToString().Contains("Json.objects.[0].images.[11].url")) throw new Exception("не содержит");
 
  • Спасибо
Реакции: udder
У меня так же не сработало. :-)

переменную значит неправильно вписываешь

C#:
Развернуть Свернуть Копировать
foreach(var s in project.Json.GetType().GetMethod("GetAllMembersList").Invoke(project.Json,null))
    if (s.Key != "Json.objects[0].images[11].url") throw new Exception("переменная отсутcтвует!");
 
Последнее редактирование:
  • Спасибо
Реакции: udder
Что-то у меня никакой из предложенных выше вариантов не работает корректно, может из-за ZP 5, пока делаю как на скрине. По зелёной -- переменная есть, по красной -- переменной нет.

Screenshot_1.png
 
Рабочий вариант искать по ключам, вот пример:


Ищем есть ли куки в массиве JSON, собираем из них строку:
Развернуть Свернуть Копировать
Dictionary<string, string> members = new Dictionary<string, string>(project.Json.GetAllMembersList());
List<string> cookies = new List<string>();
    
foreach (var s in members)
{
    if (s.Key.ToString().Contains("steamCountry")) cookies.Add("steamCountry="+s.Value+";");
    if (s.Key.ToString().Contains("browserid")) cookies.Add("browserid="+s.Value+";");
    if (s.Key.ToString().Contains("timezoneOffset")) cookies.Add("timezoneOffset="+s.Value+";");
    if (s.Key.ToString().Contains("_GRECAPTCHA")) cookies.Add("_GRECAPTCHA="+s.Value+";");
}

project.Variables["cookie_string"].Value = String.Join(" ", cookies);
project.SendInfoToLog(project.Variables["cookie_string"].Value);
 
Последнее редактирование:
  • Спасибо
Реакции: Ilshakin

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