JavaWeb 返回json數據的兩種方式


1.說明

  由於一般情況下,由瀏覽器(前端)發送請求,服務器(后台)響應json數據,所以這里結合js進行說明;

  A服務器發送請求至B服務器,並接收其返回的json數據,見文末推薦,這里不再贅述!

2.服務器返回json數據

  方式一:返回JSON格式數據(JSON對象)

/**
     * 返回json
     * @param request
     * @param response
     * @param session
     */
    @RequestMapping("/returnjson")
    public void returnjson(HttpServletRequest request,HttpServletResponse response, HttpSession session) {
        response.setCharacterEncoding("UTF-8"); 
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter wirte = null;
        JSONObject json = new JSONObject();
        try {
            wirte = response.getWriter();
            if(1==1){
                json.put("等式成立", "yes");
            }else{
                json.put("等式不成立", "no");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            wirte.print(json);
            wirte.flush();
            wirte.close();
        }response.getWriter().print(jo);
    }

  方式二:返回JSON格式字符串(JSON字符串)

// 設置返回字符集
response.setContentType("charset=utf-8");
String result = "{\"name\":\"Marydon\"}";
// 返回數據
response.getWriter().print(result);

3.客戶端接收並處理json數據

  對於第一種返回格式

  $.get();$.ajax();$.post();$.getJSON()這4種方式不用再做多余的處理,直接就能取值。

$.post(baseUrl + "/test.do",function(result){
    alert(result.name);// Marydon
});

  對於第二種返回格式

  $.get();$.ajax();$.post();這三種方式需要對數據進行處理,才能取值;

$.get(baseUrl + "/test.do",function(result){
    // json字符串-->json對象
    result = eval('(' + result + ')');
    alert(result.name);// Marydon
});

$.getJSON();這種方式直接就能取值,無需再做處理。

$.getJSON(baseUrl + "/test.do",function(result){
    alert(result.name);// Marydon
});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM