本文实例讲述了jQuery访问json文件中数据的方法。分享给大家供大家参考,具体如下:
有时候我们可能需要用到json文件存储数据,然后通过前台语言直接进行访问。
首先是json文件:
{ "管道": [ { "ElementId": "标识号", "GISID": "GISID", "Label": "编号", "StartNodeID":"起始节点ID", "EndNodeID":"终止节点ID", "StartNodeLabel":"起始节点编号", "EndNodeLabel":"终止节点编号", "Physical_PipeDiameter":"管径", "Physical_PipeMaterialID":"管材", "Physical_HazenWilliamsC":"海曾威廉C值", "Physical_Length":"管长", "Physical_MinorLossCoefficient":"局部阻力系数", "Physical_InstallationYear":"铺设年代", "Physical_Address":"地址", "District":"营销公司", "DMA":"计量区", "Zone":"行政区", "flow":"当前流量", "velocity":"当前流速", "headloss":"当前水头损失" }], "节点": [{ "ElementId": "标识号", "GISID": "GISID", "Label": "编号", "Physical_Elevation":"地面高程", "Physical_Depth":"埋深", "Physical_Address":"地址", "District":"营销公司", "DMA":"计量区", "Zone":"行政区", "hydraulicGrade":"水压标高", "pressure":"自由水压", "demand":"节点流量", "cl":"余氯浓度", "age":"水龄", "source":"供水水源" }], "阀门": [{ "ElementId": "标识号", "GISID": "GISID", "Label": "编号", "Physical_Elevation":"地面高程", "Physical_Depth":"埋深", "Physical_Diameter":"口径", "Physical_Status":"阀门状态", "Physical_Address":"地址", "District":"营销公司", "DMA":"计量区", "Zone":"行政区", "Physical_InstallationYear":"安装年代" }], "水表": [{ "DIAMETER":"口径", "CALIBER": "表径", "MATERIAL": "材质", "DEPTH":"埋深", "HEIGHT":"地面高程", "ADDR":"地址", "WATREGID": "表号", "USERNAME":"用户名", "JUNCTION":"接口类型", "DISTRICT":"行政区", "MEASUREIN":"营销公司", "FINISHDATE":"安装日期" }], "消火栓": [{ "ElementId": "标识号", "GISID": "GISID", "Label": "编号", "Physical_Elevation":"地面高程", "Physical_Depth":"埋深", "Physical_Address":"地址", "District":"营销公司", "DMA":"计量区", "Zone":"行政区", "Physical_Diameter":"口径", "Physical_Type":"样式" }] }
创建CriteriaQuery.json文件,文件内容如上。
前台代码:
<html> <head> <meta charset="GBK"/> <title>jQuery访问json</title> <script type="text/javascript" src="https://libs.baidu.com/jquery/1.4.0/jquery.min.js"></script> <script type="text/javascript"> $(function (){ $("#btn").click(function(){ $.getJSON("CriteriaQuery.json",function(data){ var $jsontip = $("#jsonTip"); var strHtml = ""; $jsontip.empty(); $.each(data.管道,function(infoIndex,info){ for(var o in info){ strHtml +=info[o]; } //strHtml +=info["ElementId"]; }); $jsontip.html(strHtml); }) }) }) </script> </head> <body> <div id="divframe"> <div class="loadTitle"> <input type="button" value="获取数据" id="btn"/> </div> <div id="jsonTip"> </div> </div> </body> </html>
我这里的jquery用的1.4.0版本的js文件,即https://libs.baidu.com/jquery/1.4.0/jquery.min.js
json文件与html放在同一个目录下。
运行代码,点击获取数据按钮,就能够在页面上看到遍历json文件所得到的“管道”的所有信息。当然,也可以通过key来获取到json文件的value,即
strHtml +=info["ElementId"];
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.zyiz.net/code/HtmlJsRun测试上述代码运行效果。
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.zyiz.net/code/json
JSON在线格式化工具:
http://tools.zyiz.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.zyiz.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.zyiz.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.zyiz.net/code/json_yasuo_trans
更多关于jQuery相关内容还可查看本站专题:《jQuery操作json数据技巧汇总》、《jQuery常用插件及用法总结》、《jQuery扩展技巧总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。