728x90
JSON?
javascript object Notation
Name / value 쌍으로 이루어진 데이터 객체
개방형 표준 데이터 형식
비동기 브라우저 서버 통신을 위해 xml을 대체하는 데이터 전송 형식
ajax 이용해서 서버와 json 데이터 주고 받기
: 서버의 서블릿과 json 을 사용하려면 json라이브러리를 설치해야한다
https://code.google.com/archive/p/json-simple/downloads
> json-simple-1.1.1.jar 다운로드
> WEB-INF/lib에 다운받은 파일 붙여넣기
예시
package ch16;
import java.io.IOException;
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.simple.JSONObject;
import org.json.simple.parser.JSONParser;
/**
* Servlet implementation class JsonServlet1
*/
@WebServlet("/ch16/json")
public class JsonServlet1 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doHandle(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doHandle(request, response);
}
private void doHandle(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
String jsonInfo = request.getParameter("jsonInfo");
try {
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(jsonInfo);
System.out.println("회원정보");
System.out.println(jsonObject.get("name"));
System.out.println(jsonObject.get("age"));
System.out.println(jsonObject.get("gender"));
System.out.println(jsonObject.get("nickname"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
1 문자열로 전송된 json 데이터를 파라미터 값으로 확인
String jsonInfo = request.getParameter("jsonInfo");
2 Jsonparser json 데이터의 처리
JSONObject jsonObject = (JSONObject) jsonParser.parse(jsonInfo);
3 해당 name값으로 얻은 것을 기준으로 value 값 출력
jsonObject.get("name")
728x90
'개발' 카테고리의 다른 글
[Oracle] 시퀀스 (0) | 2020.11.08 |
---|---|
이클립스 : 톰캣에 프로젝트 추가가 불가능 할 때 (0) | 2020.11.08 |
제이쿼리 선택자 (0) | 2020.08.08 |
JSTL 표준 태그 라이브러리 (0) | 2020.08.01 |
표현 언어의 empty 연산자 (0) | 2020.07.04 |