2011-02-09 2 views
1

Я очень люблю CakePHP Set class, он поставляется с несколькими удивительными инструментами, которые я теперь люблю. Я использую его в основном для extract или combine массивов.Использование селекторов Xpath для извлечения/объединения данных из объектов Javascript?

Мне было интересно, есть ли способ сделать это с помощью javascripts. Объекты/массивы данных.

// Desired Usage: 
var users = {User: {0:{id:1,name:'A'},1:{id:2,name:'B'}}} 
var results = $.extract('/User/id', users); 
// results returns: 
// {0:1,1:2}; 

// /User[id>2][<5] Selects all Users with an id > 2 but < 5 

Он может поддерживать jQuery или, может быть, просто Sizzle.

Должен ли я разрабатывать функции thoses с нуля или там уже есть встроенная/plugin xpath селектор/экстрактор? Может ли Sizzle это сделать?

Большое спасибо!

ответ

1

Посмотрите на эту библиотеку http://code.google.com/p/jsonpath/
Не уверен, сможет ли он обработать запрос именно в этом синтаксисе: User [идентификатор> 2] [< 5],
, но это довольно мощная библиотека и должна иметь аналогичную функцию.

Даже если нет функции для запроса деталей типа «[< 5]», вы можете вызвать

.slice(0, 5); 
+0

Nice ссылку, я нашел эту функцию додзё, а прибегая к помощи JSON XPATH Http: //docs.dojocampus .org/dojox/JSON/запрос # использование. Мог бы быть сильнее, но не нашел исходный код для извлечения этой функции. – Olivier

+0

Вот источник для скачивания: http://dojotoolkit.org/download#getdojo. json.query является частью dojoX, а не самого dojo. Первый ont похож на Mootools More или jQuery-плагины. – kirilloid

Смежные вопросы