JSON прогоняется через $modx->fromJSON($json), на
JSON прогоняется через $modx->fromJSON($json), на выходе получается массив условий, чтобы он был верно разобран нужно соблюдать определенные правила, об этом подробнее можно почитать тут https://rtfm.modx.com/xpdo/2.x/class-reference/xpdoquery/xpdoquery.where
Собственно все можете проверять в консоли modx.
$where = array(
array(
"available:="=>"0"
,"AND:toOrder:="=>"1"
)
,"OR:available:="=>"1"
);
$c = $modx->newQuery('modResource');
$c->where($where);
$c->select('id');
$c->prepare()
echo $c->toSQL();
Вернет:
SELECT `id` FROM `modx_site_content` AS `modResource` WHERE ( ( `modResource`.`available` = '0' AND `modResource`.`toOrder` = '1' ) OR `modResource`.`available` = '1' )
А если сделать вот так:
echo $modx->toJSON($where);
получите вашу JSON строку:
{"0":{"available:=":"0","AND:toOrder:=":"1"},"OR:available:=":"1"}