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

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


你可能感兴趣的:(json,LINQ,JS框架,linq.js)