ajax가 servlet에서 보낸 json을 읽는 방법
자바가 처음인데 이틀 동안 이 문제로 고생하다가 드디어 여기서 물어보기로 했습니다.
jQuery에서 보낸 데이터를 읽어서 서블릿에 사용하려고 합니다.
jQuery
var test = [
{pv: 1000, bv: 2000, mp: 3000, cp: 5000},
{pv: 2500, bv: 3500, mp: 2000, cp: 4444}
];
$.ajax({
type: 'post',
url: 'masterpaket',
dataType: 'JSON',
data: 'loadProds=1&'+test, //NB: request.getParameter("loadProds") only return 1, i need to read value of var test
success: function(data) {
},
error: function(data) {
alert('fail');
}
});
서블릿
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if (request.getParameter("loadProds") != null) {
//how do i can get the value of pv, bv, mp ,cp
}
}
어떤 도움이라도 주신다면 정말 감사하겠습니다.
제대로 전송하지 않으면 서버에서 구문 분석할 수 없습니다.
$.ajax({
type: 'get', // it's easier to read GET request parameters
url: 'masterpaket',
dataType: 'JSON',
data: {
loadProds: 1,
test: JSON.stringify(test) // look here!
},
success: function(data) {
},
error: function(data) {
alert('fail');
}
});
사용해야 합니다.JSON.stringify
자바스크립트 객체를 JSON 문자열로 전송합니다.
그리고 서버에서:
String json = request.getParameter("test");
당신은 파싱할 수 있습니다.json
손으로 끈을 묶거나, 도서관을 이용하거나(gson을 추천합니다).
데이터를 서블릿에 파싱하려면 JSON 파서를 사용해야 합니다.
import org.json.simple.JSONObject;
// this parses the json
JSONObject jObj = new JSONObject(request.getParameter("loadProds"));
Iterator it = jObj.keys(); //gets all the keys
while(it.hasNext())
{
String key = it.next(); // get key
Object o = jObj.get(key); // get value
System.out.println(key + " : " + o); // print the key and value
}
json을 구문 분석하려면 json 라이브러리(예: 잭슨)가 필요합니다.
org.json 가져오기를 사용합니다.import org.json.simple 대신 JSONObject.JSONO Object가 저를 위해 성공했습니다.
Java의 ':', '[', ']'와 같은 문자를 포함하는 문자열에서 Json 개체를 만드는 방법을 참조하십시오.
언급URL : https://stackoverflow.com/questions/19568142/how-to-read-json-sent-by-ajax-in-servlet
'programing' 카테고리의 다른 글
10진수(12,2) 유형의 데이터베이스 테이블 필드에 데이터 삽입 (0) | 2023.09.27 |
---|---|
문자열이 유효한 16진수 색상 표현인지 확인하는 방법은 무엇입니까? (0) | 2023.09.27 |
전원 셸에서 공백을 두 개 이상 제거하는 중 (0) | 2023.09.27 |
URL 문자열이 절대적인지 또는 상대적인지 테스트하는 방법은 무엇입니까? (0) | 2023.09.27 |
ASP에서 보기의 레이아웃(Master Page)을 변경합니다.재생성하지 않고 NET MVC (0) | 2023.09.27 |