JSON

Делитесь модулями
  • @glitch2077 Доки переехали на другой сайт, но контент пока не весь перенесён. Как только завершу процесс обновлю ссылки везде.

  • Столкнулся с проблемой обработки ответа json.Получаю строку из ответа сервера.В логе вижу полученный список из нескольких слов через запятую.Из действия "список" использую парсить строку и получаю ошибку Result of expression '(VAR_NEW_VARIABLE).split' [undefined] is not a function. Кто то сталкивался с подобной проблемой?Я так понимаю,после парсинга json в переменной не строка получается и перевод строки не получается из модуля

  • @paini said in JSON:

    Столкнулся с проблемой обработки ответа json.Получаю строку из ответа сервера.В логе вижу полученный список из нескольких слов через запятую.Из действия "список" использую парсить строку и получаю ошибку Result of expression '(VAR_NEW_VARIABLE).split' [undefined] is not a function. Кто то сталкивался с подобной проблемой?Я так понимаю,после парсинга json в переменной не строка получается и перевод строки не получается из модуля

    Посмотрите в инспекторе переменных, скорее всего в переменной у вас уже список. Ну или выведите в лог код [[NEW_VARIABLE]][0] тип expression

  • @Fox В лог таким методом выводиться так же весь список

  • В переменной список,но случайный элемент выбирает весь.Видимо он рассматривает его как один объект

  • @paini said in JSON:

    В переменной список,но случайный элемент выбирает весь.Видимо он рассматривает его как один объект

    Попробуйте вывести в лог код

    JSON.stringify([[NEW_VARIABLE]])
    

    тип expression. Сразу наглядно увидите, что же у вас в переменной.

  • @Fox said in JSON:

    JSON.stringify([[NEW_VARIABLE]])

    Да,так выводится объект [["1","2","3","4","5"]]

  • @paini said in JSON:

    @Fox said in JSON:

    JSON.stringify([[NEW_VARIABLE]])

    Да,так выводится объект [["1","2","3","4","5"]]

    Вот у вас вложенный массив, ну или двумерный массив. Можете достать его в переменную кодом [[NEW_VARIABLE]][0], или обращаться сразу к элементам [[NEW_VARIABLE]][0][0]

  • @Fox B Благодарю за разъяснения!А можно их как то посчитать сразу или только циклом?

  • Значения всегда разные просто

  • @paini said in JSON:

    @Fox B Благодарю за разъяснения!А можно их как то посчитать сразу или только циклом?

    Действие "Установить переменную", тип expression, значение [[NEW_VARIABLE]][0]. Полученную переменную используем как обычный список.

    Об этом я и говорил ранее:
    @Fox said in JSON:

    Можете достать его в переменную кодом [[NEW_VARIABLE]][0]

  • @Fox Понял вас,спасибо

  • Подскажите пожалуйста, для совсем чайников как пользоваться. Встроенные примеры мне не очень понятны.
    Вот у меня пример json:

    [{"abc":"abc6","qqq":"test","start":"2020-02-23T15:30","end":"2020-02-23T19:30","site":"hi","yio":"mumu","incentive":null},{"abc":"abc1b5","qqq":"test","start":"2020-02-23T10:45","end":"2020-02-23T15:30","site":"hi","yio":"mumu","incentive":null}]
    

    Хочу из первого массива (ну и потом и из второго и из Nого...) значения каждой переменной использовать в post запросе.

    1. Как мне к ним обращаться?
    2. Как узнать количество массивов?
  • @000 Судя по вашему JSONу, у вас не массивы внутри, а объекты. Узнать количество этих объектов можно с помощью действия "Количество элементов", к примеру. Можно через JS.
    Вы можете проходить обычном циклом через стандартные экшены бас по этому массиву, например через foreach. В таком случае в FOREACH_DATA будет новый элемент (объект) при каждой новой итерации. Обращаться можно напрямую:

    [[FOREACH_DATA]].abc
    [[FOREACH_DATA]].end
    

    И так далее. Либо действием из модуля - "Получить значение". В качестве пути можно указать, к примеру:

    $.abc
    

    либо

    abc
    

    Но я думаю это будет оверхэд в такой простой задаче.

  • 2020-03-14_211941.jpg
    Чет в басе перестала инструкция фурычить
    Смотрите полную документацию и примеры здесь.
    Какая ссылка верная?

  • @000 В оф. сборке последней должна быть обновленная версия, я поменял уже пару недель назад. Если ставили сами до этого - лучше удалить старый модуль и переустановить бас, либо самому обновить, я выкладываю все релизы здесь:
    https://github.com/CheshireCaat/JSONModule/releases

    UPD: попробуйте удалить модуль из custom, в папке modules будет лежать ласт версия, бас должен подхватить.

  • This post is deleted!
  • Скоро обновите документацию?

    Фильтры JSONPath не работают или я что-то не то делаю?

    Мне нужно собрать все node с type = 4

    edges[*].node[?(@.type==4)] не работает
    edges[*].node[?(@.type)] тоже не работает
    
    "edges": [
                {
                  "node": {
                    "type": 3
                    }
                },
                {
                  "node": {
                    "type": 3
                    }
                },
                {
                  "node": {
                    "type": 4
                    }
                },
              ]
    
    
  • @GDie

    Скоро обновите документацию?

    Дико извиняюсь, а что именно нужно обновить?

    Мне нужно собрать все node с type = 4

    edges[*][?(@.type==4)]
    
  • @Oyasumi-Punpun благодарю!

    @Oyasumi-Punpun said in JSON:

    Дико извиняюсь, а что именно нужно обновить?

    Актуальную ссылку так и не смог найти.