您好,欢迎访问一九零五行业门户网

查询json的数据结构的8种方式简介_基础知识

查询json的数据结构的8种方式:
jsonsql
jsonsql实现了使用sql select语句在json数据结构中查询的功能。主页:http://www.trentrichardson.com/jsonsql/
例子:
复制代码 代码如下:
jsonsql.query(select * from json.channel.items order by title desc,json);
jsonpath
jsonpath就像是针对json数据结构的xpath。主页:http://goessner.net/articles/jsonpath/
例子:
复制代码 代码如下:
jsonpath( books, '$..book[(@.length-1)]')
jfunk
jfunk允许你检索(很快会加入管理功能)复杂的json或javascript对象。jfunk api的设计几乎与jquery api类似。它直接复制了jquery的api,除了那些针对dom的api。
主页:http://code.google.com/p/jfunk/
例子:
复制代码 代码如下:
jf(> vegetables > *[color=orange],food).get();
taffydb
你过去有没有注意到javascript对象的字面值看起来很像记录?如果你把他们包裹在一个数组里面,那么它们看起来有没有像一个数据库表?taffydb是一个javascript库,它提供了强大的数据库功能以实现之前的想法,大大改善了你在javascript中使用数据的方式。
主页:http://www.taffydb.com/
例子:
复制代码 代码如下:
var kelly = friends({id:2}).first();
linq.js
linq.js——javascript中的linq
复制代码 代码如下:
var queryresult2 = enumerable.from(jsonarray)
    .where($.user.id     .orderby($.user.screen_name)
    .select($.user.screen_name + ':' + $.text)
    .toarray();
objeq
objeq是一个简单的库,实现了对pojso(plain-old javascript objects,普通的javascript对象)的实时查询。主页:https://github.com/agilosoftware/objeq
复制代码 代码如下:
var res = $objeq(data, age > 40 && gender == 'female' -> name);
// --> returns ['jessica']
(译注:它使用了javascript的property setters,所以它只能工作在较新的浏览器上)json:select()
使用类css选择符来查询json。主页:http://jsonselect.org/#tryit
复制代码 代码如下:
.lang:val(bulgarian) ~ .level
paul的编程珠玑中的javascript数组过滤方法,主页:http://www.paulfree.com/28/javascript-array-filtering/#more-28
复制代码 代码如下:
var a = [1,2,3,4,5,6,7,8,9,10];
 // return everything
a.where( ( ) => true ) ;
//  --> [1,2,3,4,5,6,7,8,9,10]
// return even numbers
a.where( ( n, i ) => n % 2 == 0 ) ;
//  --> [2,4,6,8,10]
// query first 6 products whose category begins with 'con' using extra param and regular expression
products.where( ( el, i, res, param ) => res.length // using customer table data from sql server's northwind database...   
customers.where( ( el, i, res, param ) => el.country == param, usa );
目前这是我最喜欢的查询json数据结构的方法。它非常的简单,并且据作者所说它非常快。
它背后的理念和john resig的javascript micro-templating类似:使用正确表达式将一段非常简单的字符串转换成javascript函数。
当然,还有更多强大的解决方案。paul实现的原型还缺少对过滤表达式的语法检查,但是我相信你应该可以自己解决javscript的语法检查。
其它类似信息

推荐信息