java从前端到后端的json处理

本文介绍了一种使用Java从本地读取JSON文件的方法,并通过定义特定的RESTful API将JSON数据返回给前端页面。此外,还展示了如何在前端使用jQuery对返回的JSON数据进行循环展示。

楼主第一次写博客,望各位大神指导,从最简单的开始做起!

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"
    }
  ]
}

 

转载于:https://my.oschina.net/niuruijing/blog/843467

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值