@Fox ну вот счётчик яши развлекается со шрифтами, покушаясь на мою анонимность. Хотелось бы разобраться с этим топорно, заменить "что надо" и всё...
wg = "monospace;sans-serif;serif;Andale Mono;Arial;Arial Black;Arial Hebrew;Arial MT;Arial Narrow;Arial Rounded MT Bold;Arial Unicode MS;Bitstream Vera Sans Mono;Book Antiqua;Bookman Old Style;Calibri;Cambria;Cambria Math;Century;Century Gothic;Century Schoolbook;Comic Sans;Comic Sans MS;Consolas;Courier;Courier New;Garamond;Geneva;Georgia;Helvetica;Helvetica Neue;Impact;Lucida Bright;Lucida Calligraphy;Lucida Console;Lucida Fax;LUCIDA GRANDE;Lucida Handwriting;Lucida Sans;Lucida Sans Typewriter;Lucida Sans Unicode;Microsoft Sans Serif;Monaco;Monotype Corsiva;MS Gothic;MS Outlook;MS PGothic;MS Reference Sans Serif;MS Sans Serif;MS Serif;MYRIAD;MYRIAD PRO;Palatino;Palatino Linotype;Segoe Print;Segoe Script;Segoe UI;Segoe UI Light;Segoe UI Semibold;Segoe UI Symbol;Tahoma;Times;Times New Roman;Times New Roman PS;Trebuchet MS;Verdana;Wingdings;Wingdings 2;Wingdings 3".split(";"), wk = v(function(a) { a = cb(a)("canvas"); var c = n(a, "getContext"); if (!c) return null; try { var b = B(c, a)("2d"); b.font = "72px mmmmmmmmmmlli"; var d = b.measureText("mmmmmmmmmmlli").width; return function(e) { b.font = "72px " + e; return b.measureText("mmmmmmmmmmlli").width === d } } catch (e) { return null } }),Содержит ли Json конструкция
-
Всем добрый вечер, подскажите пожалуйста, сам не спец по JSon, как в данной конструкции будет логично проверять не точное вхождение, а содержит ли?
$.items[?(@.title=="[[TITLE]]")].idМне требуется title проверить на содержание части [[TITLE]], а не на точное вхождение (чтобы получить id). В идеале конечно именно через модуль, а не JS.
Пример аналогии в if.indexOf("te") >=Попробовал с
=~ и примерами в формате =~ /.*Tolkien/Но пока еще не разобрался до конца :))
Всем заранее большое спасибо.
Несколько раз пытался найти документацию полную по модулю, но, к сожалению, товарищ страницу поменял (страницу нашел), а доки куда-то перепрятал )) Так и не нашел, если подскажите где - буду очень благодарен.
-
Товарищ доки никуда не прятал, просто переместил в другой репозиторий. В документации действий модуля указана актуальная на данный момент ссылка:
https://cheshirecaat.github.io/bas-docs/json-path/json-path-ru.htmlПо вашему вопросу. Пусть есть такой JSON:
{ "items": [ { "title": "aTEST", "id": 2 }, { "title": "bTEST", "id": 3 } ] }Следующий путь сделает то, что вам нужно:
$.items[?(@.title.indexOf("a") >= 0)].idПроверял здесь:
https://jsonpath.com/В модуле тоже работает.
=~ и примерами в формате =~ /.*Tolkien/Такой синтаксис не поддерживается
-
Спасибо Вам большое, куда денежек подкинуть немного? ) (увидел))
Сейчас потестирую. Честно - искать пытался несколько раз, но в Вашем личном репе с модулем - не смог найти (Точное вхождение - ищет, добавляю что-то лишнее, уже, к сожалению - нет. У меня проблема обратного характера, у меня лишнее не в title, а в [[TITLE]].
Убрать не могу, оно всегда рандомное. Но есть вставка, которая содержится в title.
Мне по сути нужен MATCH по title из [[TITLE]].
Извиняюсь за сумбур.
-
Вообще, в теории
$.items[?(@.title.indexOf("oreshki Belka") >= 0)].idДолжен отработать в
{ "items": [ { "title": "Belka", "id": 2 }, { "title": "bTEST", "id": 3 } ] }Но почему-то не срабатывает. Или даже в теории не должен?
Или я уже совсем туплю? (
Заранее извиняюсь, вторые сутки пишу, поспалось не очень. -
@lcatlas В подписи ссылку добавил))
По поводу доки - на данный момент в модуле подробнее всего описано, на сайте пока мало инфы, но планы добавить больше есть. Поэтому в первую очередь смотрите информацию в описание к действиям. В принципе можете подглядывать в разные реализации на разных языках - только придерживайтесь правила, если есть доп.синтаксис - он скорее всего не будет работать. В модуле классическая реализация самих запросов по сути (немного модифицированная мной).
Сразу отвечу на последнюю запись - в теории не должен)
indexOf ищет вхождение подстроки в той строке, у которой вы этот метод вызываете. Вообще если я правильно вас понял, вам нужен фильтр по определенному паттерну вроде Regex? -
Лучше так - покажите пример вашего TITLE и пример вроде моего сделайте и скажите, что должно быть на выходе. Так быстрее разберемся.
-
Если коротко, у меня есть список донейтов, с донейтами приходит левая информация и название песни.
Мне нужно получить ID песни, отбросив лишнюю информацию, она всегда разная и на разных языках.
Сейчас распишу в посте примеры всего. Спасибо большое.
Пример TITLE
$.items[?(@.title.indexOf("Sun Will Rise Again - Madonna my own привет всем") >= 0)].idПример кода (в приходящих JSON очень много мусора лишнего, создаст путаницу, изначальная конструкция полностью рабочая - в первом примере)
{ "items": [ { "title": "Sun Will Rise Again - Madonna", "id": 2 }, { "title": "bTEST", "id": 3 } ] }Вот это отработает у меня (но только в том случае, если будет точное название песни, без лишнего мусора, люди должны прислать только песню и так, как указано)
$.items[?(@.title=="[[TITLE]]")].id -
Если я вас правильно понял, то можно так - JSON.xml