Json將字串轉換成物件輸出
阿新 • • 發佈:2022-05-31
Json將字串轉換成物件輸出
<%-- Created by IntelliJ IDEA. User: tomel Date: 2022/5/31 Time: 14:44 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> <script> var xhr; function getData(){ //獲取一個 XMLHttpRequest物件 ,物件可以幫助我們傳送非同步請求 xhr =new XMLHttpRequest(); // 使用xhr物件設定開啟連結,設定請求方式和引數xhr.open("請求方式","請求的URL",是否使用非同步方式); xhr.open("GET","testDataServlet.do",true) xhr.onreadystatechange=showData xhr.send(null) } function showData(){ if(xhr.readyState==4&&xhr.status==200) { var text =xhr.responseText; var users= JSON.parse(text) for(var i=0;i<users.length;i++){ var user = users[i]; console.info(user.name) console.log(user.age); console.log(user.gender) } } } </script> </head> <body> <button type="button" onclick="getData()">觸發</button> </body> </html>
package com.msb; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import javax.servlet.GenericFilter; 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 java.io.IOException; import java.nio.channels.NonWritableChannelException; import java.sql.Array; import java.sql.Date; import java.util.ArrayList; import java.util.Collections; @WebServlet("/testDataServlet.do") public class testDataServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //import java.sql.Date;:"一月 1, 1970 User user = new User("小胖",23,'男', Date.valueOf("2018-8-14")); User user2 = new User("大胖",23,'男', Date.valueOf("2020-8-14")); User user3 = new User("中胖",23,'男', Date.valueOf("2021-8-14")); ArrayList<Object> lists = new ArrayList<>(); Collections.addAll(lists,user,user2,user3); //Gson gson = new Gson(); GsonBuilder gsonBuilder = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss"); Gson gson = gsonBuilder.create(); String sql = gson.toJson(lists); resp.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=UTF-8"); resp.getWriter().println(sql); /*resp.getWriter().println(sql);*/ } }
package com.msb; import java.sql.Date; public class User { private String name; private int age; private char gender; private Date birthday; public User() { } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public char getGender() { return gender; } public void setGender(char gender) { this.gender = gender; } @Override public String toString() { return "User{" + "name='" + name + '\'' + ", age=" + age + ", gender=" + gender + ", birthday=" + birthday + '}'; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public User(String name, int age, char gender, Date birthday) { this.name = name; this.age = age; this.gender = gender; this.birthday = birthday; } }