Backend/JAVA
[JAVA] jsp에서 보낸 json 데이터 java controller에서 변환하기
couque
2023. 10. 24. 22:33
반응형
화면에서 입력받거나 가지고 있던 데이터를 서버로 보내서 처리하는 방법은 많지만 그 중에
이번에 사용하는 방법은 json 형태의 데이터로 전송하는 방법이다.
jsp 화면단에서 json 데이터를 서버로 보내서 자바에서 변환하여 사용하는 방법이다.
# jsp 에서 Object 데이터 생성하기
var data = {};
data.name = "Hong gildong";
data.phone = "010-1234-5678";
data.address = "Seoul";
console.log(data); // {name: "Hong gildong", phone: "010-1234-5678", address: "Seoul"}
# ajax를 사용해 데이터를 보낼 때 아래와 같이 json 형태로 변환하여 보낸다.
JSON.stringify(data);
console.log(JSON.stringify(data));
// "{\"name\":\"Hong gildong\",\"phone\":\"010-1234-5678\",\"address\":\"Seoul\"}"
# 화면에서 보내온 데이터를 서버에서 (java) 받아서 변환하기
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.Element;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
String requestData = request.getParameter("requestData").replaceAll(""", "\"");
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = (JsonObject) jsonParser.parse(requestData);
JsonElement el = jsonObject.get("name");
String strName = el.getAsString();
System.out.println(strName); // Hong gildong
다른 데이터들도 위와 같은 형태로 가져오면 된다.
# 데이터가 리스트인 경우 아래와 같이 변환하여 사용할 수 있다.
JsonArray jsonArray = (JsonArray) jsonObject.get("listData");
ArrayList<String> list = new Gson().fromJson(jsonArray, ArrayList.class);
System.out.println(list);
반응형