2018.7.27 Json與Java相互轉換

來源:互聯網
上載者:User

標籤:code   Fix   get   hashmap   extends   request   size   domain   map   

Json.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>Insert title here</title><script type="text/javascript" src="js/jquery-3.2.1.js"></script><script type="text/javascript" >    $(function(){        $.post("JsonServlet",{method:"entityJson"},function(msg){            //console.log(msg);//調試            //接收過來是String   要轉成對象才能點裡面的屬性            var json = JSON.parse(msg); //字串---->對象            $("#Uname").val(json.uname);//給文字框中value賦值            $("#num").val(json.uid);//給文字框中value賦值            $("#addr").html(json.address);        });                        $.post("JsonServlet",{method:"jsonList"},function(pList){            //console.log(msg);//調試            //接收過來是String   要轉成對象才能點裡面的屬性            var pObj = $.parseJSON(pList);//字串----->數組對象            $.each(pObj,function(i,p){                var li = "<li>"+p.uid+"</li>"+"<li>"+p.uname+"</li>"+"<li>"+p.address+"</li>"+"<br/>";                $("#myUl").append(li);            });         });                        $("#btn").click(function(){            var url = "JsonServlet";            var data ={"method":"jsonMap"};            $.post(url,data,function(pMap){                var personMap = $.parseJSON(pMap);//json集合字串轉json對象                $.each(personMap,function(key,value){                    $.each(value,function(i,person){                        var li = "<li>"+person.uid+person.uname+person.address+"</li>";                        $("#myMap").append(li);                    });                });            });        });                })</script></head><body><h3>Java實體(字串)轉JSON對象  JSON.parse(msg);</h3>    ID:<input type="text" id="num"><br/>    Name:<input type="text" id="Uname" ><br/>    Address:<span id="addr" ></span>    <hr><h3>Java集合轉JSON數組對象  $.parseJSON(pList)</h3>    <ul id="myUl">    </ul>        <hr><h3>Map集合轉JSON對象</h3>   <button id=‘btn‘>擷取Map集合資料</button><ul id="myMap"></ul></body></html>
JsonServlet
package servlet;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.commons.collections.map.HashedMap;import domain.Person;import net.sf.json.JSONArray;import net.sf.json.JSONObject;@WebServlet("/JsonServlet")public class JsonServlet extends HttpServlet {    private static final long serialVersionUID = 1L;    protected void doGet(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        doPost(request, response);    }    protected void doPost(HttpServletRequest request, HttpServletResponse response)            throws ServletException, IOException {        String method = request.getParameter("method");        if(method.equals("entityJson")) {            //設定編碼格式  不然會顯示亂碼            response.setContentType("text/html;charset=utf-8");            Person p = new Person(1001, "張三", "男", "廣西");            // 1. java實體轉json對象            JSONObject jsonObj = JSONObject.fromObject(p);            //發送資料    字串形式            response.getWriter().println(jsonObj);            System.out.println(jsonObj);                    }else if(method.equals("jsonList")){            //設定編碼格式  不然會顯示亂碼            response.setContentType("text/html;charset=utf-8");            List<Person> pList = new ArrayList<Person>();            Person p1 = new Person(1001, "張三", "男", "廣西");            Person p2 = new Person(1002, "李四", "女", "廣東");            Person p3 = new Person(1003, "王五", "男", "四川");            pList.add(p1);            pList.add(p2);            pList.add(p3);            JSONArray jsonObject =  JSONArray.fromObject(pList);            System.out.println("集合長度是"+jsonObject.size());            response.getWriter().println(jsonObject);        }else if(method.equals("jsonMap")){            //設定編碼格式  不然會顯示亂碼            response.setContentType("text/html;charset=utf-8");            Map<String,Person> mp = new HashMap<String,Person>();            mp.put("管理員", new Person(1001, "張三", "男", "廣西"));            mp.put("遊客", new Person(1002, "張四", "男", "廣西"));            JSONArray jsonMap =  JSONArray.fromObject(mp);            //發送資料            response.getWriter().println(jsonMap);        }    }}

2018.7.27 Json與Java相互轉換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.