楼主第一次写博客,望各位大神指导,从最简单的开始做起!
1.从本地读取json数据
public String ReadFile() { //path 读取json文件的地址 String path = "E:\\workspace2\\nav-manage\\src\\main\\webapp\\resources\\FFJList.json"; BufferedReader reader = null; String laststr = ""; try { //读取json数据 FileInputStream fileInputStream = new FileInputStream(path); InputStreamReader inputStreamReader = new InputStreamReader( fileInputStream, "utf-8"); reader = new BufferedReader(inputStreamReader); String tempString = null; //一行一行读取,拼接成字符串 返回 while ((tempString = reader.readLine()) != null) { laststr += tempString; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } return laststr; }
2.把获取过来的json返回给页面
//自己定义的方法 @RequestMapping("getFacilityList.htm") @ResponseBody public Object getFacilityList(){ return JSONObject.parseObject(ReadFile()); }
3.页面解析循环json数据
//ajax异步请求 $.ajax({ type : "post", url : " <%=request.getContextPath()%>/agriculture/getFacilityList.htm", data : {}, dataType : "json", success : function(json) { $.each(json.FFJList, function(i, item) { //循环拼接ffj_tbody $("#ffj_tbody").append( "<tr><td>" + item.FFJDate + "</td>" + "<td style='color: red'>" + item.FFJStatc+ "</td>" + "<td>" + item.FFJTemp + "</td><tr/>"); }); }, error : function () { alert("异常"); } });
示例json文件:
{"FFJList": [ { "FFJDate": "2016-10-20", "FFJStatc": "打开", "FFJTemp": "30" }, { "FFJDate": "2016-11-01", "FFJStatc": "打开", "FFJTemp": "25" }, { "FFJDate": "2016-11-13", "FFJStatc": "关闭", "FFJTemp": "34" }, { "FFJDate": "2016-11-14", "FFJStatc": "打开", "FFJTemp": "20" }, { "FFJDate": "2016-12-22", "FFJStatc": "打开", "FFJTemp": "31" }, { "FFJDate": "2016-10-20", "FFJStatc": "打开", "FFJTemp": "28" }, { "FFJDate": "2017-01-01", "FFJStatc": "打开", "FFJTemp": "12" }, { "FFJDate": "2017-01-18", "FFJStatc": "打开", "FFJTemp": "22" }, { "FFJDate": "2017-01-19", "FFJStatc": "关闭", "FFJTemp": "32" }, { "FFJDate": "2017-01-20", "FFJStatc": "打开", "FFJTemp": "22" }, { "FFJDate": "2017-01-20", "FFJStatc": "打开", "FFJTemp": "31" } ] }