JSON - JSonResult 도구 클래스 를 통 해 JSON 문자열 을 되 돌려 줍 니 다.

백 엔 드 에서 데 이 터 를 전방 으로 되 돌 릴 때 JSON 문자열 은 보통 가장 선 호 하 는 방식 이지 만 가끔 중국어 코드 가 어 지 러 운 경우 가 있 습 니 다. 이 도구 류 를 사용 하여 제 중국어 코드 문 제 를 해결 하고 구 덩이 를 밟 는 과정 을 기록 합 니 다.
코드 를 직접 올 리 면 이 도구 류 가 어디서 나 왔 는 지 모 르 겠 지만 정말 강력 합 니 다!
import java.io.Serializable;
/**
 *             Json   
 * @author soft01
 *
 */
public class JsonResult implements Serializable {
    //Serializable                                 
    public static final int SUCCESS=0;
    public static final int ERROR=1;
    public static final int OTHER=2;

    private int state;
    private String message = "";
    private T data;
    private String pass="";

    public JsonResult(){
        state = SUCCESS;
    }
    //    ,  n    
    public JsonResult(int state, String message, T data) {
        super();
        this.state = state;
        this.message = message;
        this.data = data;
    }
    public JsonResult(int state,String error){
        this(state,error,null);
    }
    public JsonResult(int state,T data){
        this(state,"",data);
    }
    public JsonResult(String error){
        this(ERROR,error,null);
    }

    public JsonResult(T data){
        this(SUCCESS,"",data);
    }
    public JsonResult(int state){
        this(state,"",null);
    }
    public JsonResult(Throwable e){
        this(ERROR,e.getMessage(),null);
    }
    public int getState() {
        return state;
    }
    public void setState(int state) {
        this.state = state;
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
    public T getData() {
        return data;
    }
    public void setData(T data) {
        this.data = data;
    }
    public static int getSuccess() {
        return SUCCESS;
    }
    public static int getError() {
        return ERROR;
    }
    @Override
    public String toString() {
        return "JsonResult [state=" + state + ", message=" + message + ", pass=" + pass + ", data=" + data + "]";
    }
}

도구 류 는 범 형 류 를 사용 하기 때문에 우 리 는 수요 에 따라 하나의 클래스 로 돌아 가 거나 집합 할 수 있 습 니 다. 다만 controller 류 에서 돌아 오 는 유형 은 약간 다 를 뿐 입 니 다.
이 도구 클래스 가 되 돌아 오 는 데 이 터 는 state, message, data 세 가지 가 있 습 니 다. 그 중에서 data 는 우리 가 주로 사용 하 는 JSON 문자열 입 니 다.
controller 클래스 에서 조 회 된 데 이 터 를 이 도구 클래스 를 통 해 JSON 문자열 로 봉 하면 되 돌려 줍 니 다.
    @RequestMapping("/selectInfoForUser")
    @ResponseBody
    public JsonResult<Map<String, String>> selectInfoForUser(){
        Map map=new HashMap();
        map.put("userid", 1);
        Map<String, String> userInfo = userServiceImpl.selectInfoForUser(map);
        //System.out.println("         ");
        //String userInfojsonString = JSON.toJSONString(userInfo);
        return new JsonResult<Map<String, String>>(0,"  ",userInfo);
    }

여기 서 사용 하 는 검색 이 끝 난 후에 map 형식 으로 되 돌아 가기 때문에 JsonResult> 를 사용 합 니 다. List 는 Map 과 같 습 니 다. 하나의 실체 류 User 만 되 돌아 오 면 되 돌아 오 는 형식 은 JsonResult 입 니 다. 그 중에서 @ResponseBody 제 이 슨 문자열 을 이전 페이지 로 직접 되 돌려 주 는 역할 을 합 니 다. 추가 하지 않 으 면 오류 가 발생 합 니 다. springmvc 설정 파일 은 보통 앞 접 두 사 를 설정 하기 때 문 입 니 다.return 뒤의 문자열 을 jsp 페이지 로 처리 합 니 다.
전단 페이지 에 서 는 data. data 를 사용 하여 JSON 대상 을 직접 얻 을 수 있 으 며, 구체 적 으로 전단 페이지 에서 인쇄 를 테스트 한 후 필요 한 데 이 터 를 캡 처 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기