查询json数据和SQL

时间:2015-02-19 09:50:35

标签: sql json search

当我在网上搜索"查询JSON数据"所有我能找到的是一堆看似废弃的项目,可追溯到2006年,2007年,2011年最新鲜的项目。

我的目标是执行SELECT field1,field2,fieldn FROM jsonObject WHERE ... ORDER BY ......等查询。

除了可能的INSERT函数肯定是一个加号。

是否有js插件使用javascript对象执行此类操作(在这种情况下,我将声明一个变量= JSON.parse(jsonObject)然后使用该对象?

我是否遗漏了JSON本身的原生内容?或者,2015年执行此类任务的最佳做法是什么?

请分享......

2 个答案:

答案 0 :(得分:2)

如果要在内存中查询JavaScript数组,可以尝试使用Alasql库。 Alasql为JavaScript对象提供标准的SQL接口,带有一些特殊的扩展名,比如' - >' operator指向对象的子属性。

以下是Alasql接口的示例:

var data=[{a:{aa:1},b:{bb:2}},{a:{aa:2},b:{bb:2}},{a:{aa:1},b:{bb:3}}]
var res = alasql('SELECT SUM(a->aa), FIRST(b->bb) FROM ? \
                   GROUP BY b->bb',[data]);

您可以尝试this example in jsFiddle

此外,还有其他库具有类似SQL的查询运算符和主动支持,包括:

(Discalimer:我是Alasql的作者)。

答案 1 :(得分:0)

如果您想从Oracle执行此操作,可以直接在12c中执行此操作。这在这里有详细描述:

http://stefan-armbruster.com/index.php/12-it/pl-sql/12-oracle-xml-and-json-goodies

也可以使用我试过的第三方代码pl_json,看起来非常好http://sourceforge.net/projects/pljson/files/PL_JSON/

我相信使用当前版本的postgres可以做同样的事情