Переменная жсона

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
256
Баллы
63
Не сохраняется в switch кубике
Screenshot_18.pngScreenshot_19.png
Хотя другие её понимают. Зенька 7.3.2.0. Это особенность или баг?
 

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
256
Баллы
63
На 7.5.0.0 те же яйца. Можно добавить переменную жсона в сл. билдах? Чем жсон переменная от обычной отличается?
 

Reysh

Client
Регистрация
02.12.2018
Сообщения
198
Благодарностей
132
Баллы
43
Сохраните JSON переменную в обычную и используйте ее в Switch
83266
 

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
256
Баллы
63

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
256
Баллы
63
Раньше @rostonix добавлял в таску, он ещё с нами?
 

Reysh

Client
Регистрация
02.12.2018
Сообщения
198
Благодарностей
132
Баллы
43

SHILY

Client
Регистрация
05.06.2016
Сообщения
258
Благодарностей
306
Баллы
63
Чем жсон переменная от обычной отличается?
Json переменные типа dynamic, вроде как.

Не сохраняется в switch кубике
Посмотреть вложение 83259Посмотреть вложение 83260
Хотя другие её понимают. Зенька 7.3.2.0. Это особенность или баг?
А можно, пожалуйста, весь json ответ? Хочу решение одно проверить :-)
 
Последнее редактирование:

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Используй Newtonsoft.Json, с помощью него можно творить всё что хочешь в отличие от зенки. И производительность намного выше
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
Используй Newtonsoft.Json, с помощью него можно творить всё что хочешь в отличие от зенки. И производительность намного выше
Зенка с ним и работает. Не надо ничего доустанавливать. И да, производительность намного выше, чем при работе через project. Небольшой пример, как я с ним работаю, в моем конкурсном шаблоне - внимательные ребята уже заметили. Больше и красивее пример у @BAZAg во внеконкурсных совсем недавно. Спасибо ему большое за его глубокие познания зенки, доброту душевную и, конечно же, прямые руки.
 
  • Спасибо
Реакции: SHILY

SHILY

Client
Регистрация
05.06.2016
Сообщения
258
Благодарностей
306
Баллы
63
Используй Newtonsoft.Json, с помощью него можно творить всё что хочешь в отличие от зенки. И производительность намного выше
Newtonsoft.Json вшит уже в зенке по пути Global.ZennoLab.Json))
Вот я с помощью него и хотел решение написать :-)
 
  • Спасибо
Реакции: Alexmd

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 022
Благодарностей
1 421
Баллы
113
Даже через project.Json свитч отработает, но реализованный в коде. Видимо, компиляция кубика свитча не позволяет использовать dynamic.
Простой пример:
C#:
project.Json.FromString(@"{""status"":""ok""}");
switch(project.Json.status){
    case "ok": return true;
    default: return false;
}
 
  • Спасибо
Реакции: Wide и SHILY

SHILY

Client
Регистрация
05.06.2016
Сообщения
258
Благодарностей
306
Баллы
63
Не сохраняется в switch кубике
Посмотреть вложение 83259Посмотреть вложение 83260
Хотя другие её понимают. Зенька 7.3.2.0. Это особенность или баг?
Вот примерный вариант, если что:
C#:
var objectForParse = project.Variables["json"].Value;
var jsonObj = default(Global.ZennoLab.Json.Linq.JObject);

try
{
    jsonObj = Global.ZennoLab.Json.Linq.JObject.Parse(objectForParse);
}
catch (Exception ex)
{
    project.SendWarningToLog($"Упало исключение: {ex.Message}");
    return null;
}

var result = jsonObj != null ? (string)jsonObj?.SelectToken("ad")?.SelectToken("ad")?.SelectToken("category")?.SelectToken("id") : default;

if (string.IsNullOrWhiteSpace(result))
{
    project.SendWarningToLog($"По вашему json запросу ничего не найдено");
    return null;
}
else
{
    project.Variables["result"].Value = result;
    project.SendInfoToLog($"Результат: {result}");
}
 
  • Спасибо
Реакции: Wide и Alexmd

Wide

Client
Регистрация
04.02.2013
Сообщения
945
Благодарностей
256
Баллы
63

SHILY

Client
Регистрация
05.06.2016
Сообщения
258
Благодарностей
306
Баллы
63
  • Спасибо
Реакции: Alexmd

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