parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Maxx 28.11.2019 16:18

Спасибо, круто!
Эту конструкцию
$caller.$key_name[$$key_name]
Я не пойму наверное никогда )

Второй метод работает со странностями. Если указать key:
	
^json:string[^select[$hash][key;value]($value == 2)[
	$.recursive(true)
]][
	$.indent(true)
]
То в результате поедут ключи:
{
	"d":{
		"d":2
	},
	"f":"2"
}
И вторая - если метод ничего не находит - он возвращает ключи с которых были хэши:
^json:string[^select[$hash][;value]($value == 222)[
	$.recursive(true)
]][
	$.indent(true)
]
{
	"a":{},
}
Я это вылечил проверкой что из рекурсии что-то пришло:
$selected[
	$deep[^select[$value;$key_name;$value_name]{
		$caller.$key_name[$$key_name]
		$caller.$value_name[$$value_name]
		$condition
	}[$options]]
	^if($deep){
		$.$key[$deep]
	}
]