자바의 객체표현 JSON

JAVA,JSON,JavaScript
홍윤's avatar
Aug 13, 2024
자바의 객체표현 JSON
notion image
notion image
notion image
자바 형식으로 표현 한 것을 JSON이라고 한다.
자바스크립트 객체
let user2 ={ name:"Khan" , age:50};
만들고
let str = JSON.stringify(user); undefined str '{"name":"James","age":20}'
이게 문자열로 만드는 법
et jstr = '{"name": "홍길동","age":32}'; undefined jstr; '{"name": "홍길동","age":32}' let jobj = JSON.parse(jstr); undefined jobj; {name: '홍길동', age: 32} jobj.name; '홍길동'
feedback!!!!
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<button onclick="loadDoc()" id="btn">실행</button>
<div id="demo"></div>
<script>
const btn = document.querySelector("#btn");
btn.addEventListener("click", loadDoc);
function loadDoc() {
const xhttp = new XMLHttpRequest();
xhttp.onload = function() {
let json = this.responseText;
let obj = JSON.parse(json);
document.getElementById("demo").innerHTML = obj.name+"<br>" + obj.age+ "<br>" + obj.tel;
}
//xhttp.open("GET", "feedback?name=Kane&age=20&tel=010-1111-1111", true);
xhttp.open("POST","feedback",true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send("name=Hue&age=20&tel=010-2222-3333"); //post방식으로 할거면 send()안에 뭐를 넣어줘야한다.
}
</script>
</body>
</html>
servelt
package servlet;
import java.io.IOException; import java.io.PrintWriter;
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.json.JSONObject;
import Test.UserBean;
@WebServlet("/feedback") public class FeedBackServelt extends HttpServlet { private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); String tel = request.getParameter("tel"); UserBean user = new UserBean(name, age, tel); JSONObject jobj = new JSONObject(user); out.print(jobj); // out.print("Love_for_die"); //out.print("{\\"name\\":\\"James\\",\\"age\\":20}"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); request.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); String name = request.getParameter("name"); int age = Integer.parseInt(request.getParameter("age")); String tel = request.getParameter("tel"); UserBean user = new UserBean(name, age, tel); JSONObject jobj = new JSONObject(user); out.print(jobj); }
}
 
JSONSERvlet
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<button onclick="loadDoc()" id="btn">실행</button>
<hr>
<div id="demo"></div>
<script>
const btn = document.querySelector("#btn");
btn.addEventListener("click", loadDoc);
function loadDoc() {
const xhttp = new XMLHttpRequest();
let user = {
name : "Hong",
age : 32,
tel : "010-3333-4444"
}
let juser = JSON.stringify(user);
xhttp.onload = function() {
// let json = this.responseText;
// let obj = JSON.parse(json);
document.getElementById("demo").innerHTML = this.responseText; //"이름:" + obj.name
// + "|" + "나이:" + obj.age + "|" + "전화번호:" + obj.tel;
}
xhttp.open("POST", "FeedBackJson", true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send(juser);
}
</script>
</body>
</html>
feedbackJSONServlet
package servlet;
import java.io.BufferedReader; import java.io.IOException; import java.io.PrintWriter;
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.json.JSONObject;
import DAO.UserDao; import Test.UserBean;
@WebServlet("/FeedBackJson") public class FeedBackJsonServelt extends HttpServlet { private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); request.setCharacterEncoding("UTF-8"); JSONObject user02 = new JSONObject(new UserBean("Ann", 27, "010-1111-1111")); PrintWriter out = response.getWriter(); out.print(user02); // out.print("{\\"name\\":\\"Ann\\",\\"age\\":27}"); // "{name":"Ann","age":27,"tel":"010-1111-1111"}" } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=UTF-8"); request.setCharacterEncoding("UTF-8");
// JSONObject user02 = new JSONObject(new UserBean("Ann", 27, "010-1111-1111")); // out.print(user02);
PrintWriter out = response.getWriter(); BufferedReader br = request.getReader(); String jstr = br.readLine(); JSONObject jobj = new JSONObject(jstr); String name = (String) jobj.get("name"); Integer age = (Integer) jobj.get("age"); String tel = (String) jobj.get("tel"); UserBean user = new UserBean(name, age, tel); UserDao dao = new UserDao(); int result = dao.inserta(user); if (result == 1) { out.print("success!!!"); } else { out.print("실패"); } }
}
Share article

Uni