@mik888em из вашего поста видно что вы пытаетесь пасить переменную представленную в формате JSON, а она ей не является.
upd Поставьте проверку на валидность json Или сами напишите проверочную функцию или проще есть кубик JSON там есть экшен проверки на валидность формата.
Почему не получается применить условие 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