codememo

잭슨 JSON을 사용한Spring MVC에서의 JSON 해석

tipmemo 2023. 3. 9. 22:05
반응형

잭슨 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

반응형