是否有(大致)SQL 或类似 XQuery 的语言来查询 JSON?
我正在考虑可以很好地映射到 JSON 的非常小的数据集,在其中很容易回答诸如“Y > 3 时 X 的所有值是多少”之类的查询,或者执行通常的 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)
快速谷歌搜索表明人们已经考虑过它并实现了一些东西(JAQL),但似乎还没有出现标准用法或一组库。虽然每个功能单独实现都相当简单,但如果有人已经做对了,我不想重新发明轮子。
有什么建议么?
编辑:这可能确实是个坏主意,或者 JSON 可能是我所想的过于通用的格式。想要一种查询语言而不是根据需要直接执行 summing/etc 函数的原因是我希望构建根据用户输入动态查询。有点像“我们不需要 SQL,我们可以编写我们需要的函数”的论点。最终,要么失控,要么您最终编写自己的 SQL 版本,因为您将其推得越来越远。(好吧,我知道这是一个有点愚蠢的论点,但你明白了..)