Существует ли (примерно) SQL или XQuery-подобный язык для запросов JSON?
Я имею в виду очень маленькие наборы данных, которые хорошо отображаются в JSON, где было бы неплохо легко отвечать на запросы, такие как «каковы все значения X, где Y> 3», или выполнять обычные операции типа SUM / COUNT .
Как полностью вымышленный пример, примерно так:
[{"x": 2, "y": 0}}, {"x": 3, "y": 1}, {"x": 4, "y": 1}]
SUM(X) WHERE Y > 0 (would equate to 7)
LIST(X) WHERE Y > 0 (would equate to [3,4])
Я думаю, что это будет работать как на стороне клиента, так и на стороне сервера, при этом результаты будут преобразованы в соответствующую структуру данных для конкретного языка (или, возможно, сохранены как JSON)
Быстрый поиск в Google позволяет предположить, что люди подумали об этом и реализовали несколько вещей ( JAQL ), но пока что не появилось стандартного использования или набора библиотек. Хотя каждая функция довольно проста для реализации самостоятельно, если кто-то уже сделал это правильно, я не хочу заново изобретать колесо.
Есть предложения?
Редактировать: Это действительно может быть плохой идеей, или JSON может быть слишком универсальным форматом для того, о чем я думаю. Причина, по которой мне нужен язык запросов вместо того, чтобы просто выполнять функции суммирования / etc непосредственно по мере необходимости, заключается в том, надеюсь построить запросы динамически на основе пользовательского ввода. Вроде как аргумент, что «нам не нужен SQL, мы можем просто написать нужные нам функции». В конечном итоге это либо выходит из-под контроля, либо вы в конечном итоге пишете свою собственную версию SQL по мере продвижения вперед и дальше. (Хорошо, я знаю, что это немного глупый аргумент, но вы поняли идею ..)