Поисковый движок по дереву, описанному в JSON
Здравствуйте!
Есть движок http://sizzlejs.com/ который делает поиск элемента в дереве DOM. Есть ли аналогичный поисковый движок, но чтобы он искал в дереве JSON? Например, есть дерево: var data = { items:[{ id: 1 }, { id: 2 title: "item2" }] } Делаем поиск: var finded = SearchEngine.query("Object[id=2]", data); и получаем finded = { id: 2 title: "item2" } Здесь вместо Object может выступать любой пользовательский класс, конечно же. |
Пока нашел xPath реализацию для JSON
http://www.defiantjs.com/ И вот эту штуку https://code.google.com/p/jsonpath/ непонятного назначения, так как не ясно с чего вдруг xPath так коверкать. И еще вот это нашел, с синтаксисом похожим на CSS, но не ясно как его подключить (там внутри вызов не понятной функции require()) https://github.com/mmckegg/json-context Плюс вроде с ним нужно подгружать еще два пакета. |
khusamov,
http://javascript.ru/forum/project/5...-iterator.html <script src="http://nervgh.github.io/js/recursive-iterator.min.js"></script> <script> var data = { items:[{ id: 1 }, { id: 2, title: "item2" }] } var iterator = new RecursiveIterator(data), obj; for(var item = iterator.next(); !item.done; item = iterator.next()) { var state = item.value; if (state.key == "id" && state.node == 2) obj = state.parent } alert(JSON.stringify(obj)) </script> |
Спасибо! Этот итератор
https://github.com/nervgh/recursive-iterator весьма интересен. Он может пригодится для создания такого класса, который я ищу в готовом виде. |
Часовой пояс GMT +3, время: 20:39. |