Если фри, то выше кинули, если через сервисы, можно также "вдохновиться" моим скриптом решалки Яндекс капчи, там ровно такая же суть, но прикручено решение через антигейт (с ручными индусами), но можно так и любой сервис с индусами прикрутить. Решение на гуру не чекал, баланса небыло на аке)
Почему не получается применить условие if для переменной вида [object] ?
-
Вот строка
{ "predmet": [ { "status": "v_nalichii", "parametri": { "color": "belii_stol", "quantity": { "value": "29.0" } } }, { "status": "v_nalichii", "parametri": { "color": "krasnii_stol", "quantity": { "value": "29.0" } } }, { "status": "v_nalichii", "parametri": { "color": "belaya_tumba", "quantity": { "value": "29.0" } } } ] }К ней применяется jsonpath запрос для получения всех значений, соотвествующих этому запросу:
$.predmet[?(@.parametri.color.match(/stol/))]
На выходе в переменной имеем такую абра-кадабру:[ { parametri: { } status: "v_nalichii" } { parametri: { } status: "v_nalichii" } ]т.е. без запятой между выведенными значениями, подходящими под условие и с новой строки и в виде объекта (сомневаюсь, что его можно таковым назвать).
Применить к такому условию обычное действие if не получается, т.е. например, при попытке найти в такой переменной слово "v_nalichii" БАС просто пропускает это условие, считает его ложным, хотя это не так.
Как применить If к этой переменной в квадратных скобках?
problemka2.xml -
@botovod said in Почему не получается применить условие if для переменной вида [object] ?:
Применить к такому условию обычное действие if не получается, т.е. например, при попытке найти в такой переменной слово "v_nalichii" БАС просто пропускает это условие, считает его ложным, хотя это не так.
Как применить If к этой переменной в квадратных скобках?Либо указывайте в условии значение конкретного ключа
json[0].status == "v_nalichii"или гуглите как сравнить ассоциативные массивы в js