잭슨 JSON을 사용한Spring MVC에서의 JSON 해석
좋아요, 제가 이걸 좀 더 살펴봤지만 더 이상은 아닙니다.자바스크립트 프런트엔드 웹 앱에서 JSON을 받아들여야 하는 Spring MVC 서블릿이 있습니다.JSON을 해석하려면 잭슨을 사용해야 합니다.JSON 내의 값을 가져와 JSON에 표시되는 순서대로 목록에 저장해야 합니다.JsonParser 및 JsonNode 개체와 함께 JsonFactory를 사용해 봤지만 제대로 작동합니다.또한 BufferedReader를 열어 요청 본문을 한 줄씩 반복하려고 시도했지만 이것도 제대로 되지 않습니다.여기서 몇 가지 관련 질문을 살펴봤지만, 지금까지 아무 것도 효과가 없었습니다.
아는 분 중에 이쪽의 올바른 방향을 가르쳐 주실 수 있습니까?예시가 있는 웹페이지가 좋을 것 같습니다!
Jackson과 같은 매핑 기술을 사용하는 목적은 객체를 사용할 수 있다는 것입니다(JSON을 직접 해석할 필요는 없습니다).
예상되는 JSON과 유사한 Java 클래스를 정의합니다.
예: 이 JSON:
{
"foo" : ["abc","one","two","three"],
"bar" : "true",
"baz" : "1"
}
를 다음 클래스에 매핑할 수 있습니다.
public class Fizzle{
private List<String> foo;
private boolean bar;
private int baz;
// getters and setters omitted
}
다음과 같은 컨트롤러 방식을 사용하는 경우:
@RequestMapping("somepath")
@ResponseBody
public Fozzle doSomeThing(@RequestBody Fizzle input){
return new Fozzle(input);
}
위에서 JSON을 전달하면 잭슨은 자동으로 Fizzle 객체를 생성하여 반환된 객체의 JSON 뷰를 mime 타입의 응답으로 시리얼화합니다.application/json.
http://json-lib.sourceforge.net/의 json lib를 사용하고 있습니다.
json-lib-2.1-jdk15.jar
import net.sf.json.JSONObject;
...
public void send()
{
//put attributes
Map m = New HashMap();
m.put("send_to","my@admin.lan");
m.put("email_subject","this is a test email");
m.put("email_content","test email content");
//generate JSON Object
JSONObject json = JSONObject.fromObject(content);
String message = json.toString();
...
}
public void receive(String jsonMessage)
{
//parse attributes
JSONObject json = JSONObject.fromObject(jsonMessage);
String to = (String) json.get("send_to");
String title = (String) json.get("email_subject");
String content = (String) json.get("email_content");
...
}
더 많은 샘플은 이쪽 http://json-lib.sourceforge.net/usage.html에서 확인하실 수 있습니다.
언급URL : https://stackoverflow.com/questions/6019562/parsing-json-in-spring-mvc-using-jackson-json
'codememo' 카테고리의 다른 글
| 반응에서 Axios 처리 오류 (0) | 2023.03.09 |
|---|---|
| JSONL 파일을 JSON 개체로 로드하는 중 (0) | 2023.03.09 |
| WooCommerce "내 계정" 페이지 대시보드 검색 (0) | 2023.03.09 |
| ASP.NET MVC Ajax이미지가 있는 ActionLink (0) | 2023.03.09 |
| 워드프레스 위젯 코드는 어디에 저장합니까? (0) | 2023.03.09 |