js-linq.js 从json字符串中按条件查找数据

来源:互联网 发布:java空格符串转json 编辑:程序博客网 时间:2024/05/29 09:05

Linq.js作为js的一大框架还是蛮强大的。因为要从json对象中提取出自己需要的数据信息,同事推荐了linq.js。真心不错,就和sql语句一样根据自己条件进行查询数据。不过百度这方面的资料有点少。


导入的js:

<script src="static/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
 <script type="text/javascript" src="static/linq/jquery.linq-vsdoc.js"></script>
 <script type="text/javascript" src="static/linq/jquery.linq.js"></script>
 <script type="text/javascript" src="static/linq/jquery.linq.min.js"></script>
 <script type="text/javascript" src="static/linq/linq.js"></script>
 <script type="text/javascript" src="static/linq/linq.min.js"></script>

linq.js下载地址:http://download.csdn.net/detail/u013147600/9113909


页面中的javascript:

<span style="font-size:14px;"><script type="text/javascript"> //保留多少位小数function fomatFloat(src,pos){       return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);             }     $(document).ready(function() {//查询条件和结果  var queryResult;//companyInfo是一个json格式的对象,parent.whole_year和parent.whole_company 都是变量,其中parent.whole_company的值会是一个中文的字符串,所以前面加了decodeURI()函数 把URI形式转换成string格式。 queryResult= Enumerable.From(companyInfo).Where("$.year =="+parent.whole_year+"& $.company== decodeURI('"+parent.whole_company+"')") //.Where("$.company== decodeURI('"+parent.whole_company+"')").OrderBy("$.money")   .Select("$.company + ','+$.year+','+$.name+',' + $.money")   .ToArray();   for (num in queryResult) {var result= queryResult[num].split(',');var tr = "<tr><td>"+ num+"</td>  <td>"+ result[0]+ " </td>  <td>"+ result[1]+ "</td><td>"+ result[2]+ "</td><td>"+ fomatFloat(eval(result[3])/10000,2)+"</td></tr>";$(".table").append(tr);}});//查询function search(){var info = $("#info").attr("value");  var queryResult = Enumerable.From(companyInfo).Where("$.year == "+info).OrderBy("$.money")    .Select("$.company + ','+$.year+','+$.name+',' + $.money")   .ToArray();//清空表格内容$('.table tbody').empty(); for (num in queryResult) {var result= queryResult[num].split(',');var tr = "<tr><td>"+ num+"</td>  <td>"+ result[0]+ " </td>  <td>"+ result[1]+ "</td><td>"+ result[2]+ "</td><td>"+ fomatFloat(eval(result[3])/10000,2)+"</td></tr>";$(".table").append(tr);}}</script></span>

资源网站:

linq.js - LINQ for JavaScript:http://linqjs.codeplex.com/

http://www.cnblogs.com/sword-successful/archive/2014/11/25/4120946.html

http://neue.cc/reference.htm


0 0