json 의 SpringBoot 형식 변환 에 대한 자세 한 설명

@RestController 자동 으로 json 으로 돌아 가기
在这里插入图片描述

/**
   * json       
   * 1 @RestController    json
   */
  @GetMapping("/json")
  public Student getjson() {
    Student student = new Student("bennyrhys",158
    );
    return student;
  }
@ResponseBody+@Controller 조합 json 으로 돌아 가기
在这里插入图片描述

//@RestController
  @Controller
//     


  @GetMapping("/json")
  @ResponseBody
  public Student getjson() {
    Student student = new Student("bennyrhys",158
    );
    return student;
  }
pom.xml 에 알 리 바 바 json jar 패키지 추가
在这里插入图片描述

//@RestController
  @Controller
//     


@GetMapping("/fastjson")
  public void fastjson(HttpServletResponse response){
    Student student = new Student("bennyrhys",158);
    String data = JSON.toJSONString(student);


    try {
      sendJsonData(response, data);
    } catch (IOException e) {
      e.printStackTrace();
    }

  }

  protected void sendJsonData(HttpServletResponse response, String data) throws IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    out.println(data);
    out.flush();
    out.close();
  }

fastjson 깊이 이해
fastJSon 은 json 형식 문자열 에 대한 분석 에 주로 세 가지 종 류 를 사 용 했 습 니 다.
JSON:fastJSon 의 해석 기 는 JSON 형식 문자열 과 JSON 대상 및 자바 빈 간 의 변환 에 사 용 됩 니 다.
JSONobject:fastJSon 이 제공 하 는 json 대상.
JSONarray:fastJSon 은 json 배열 대상 을 제공 합 니 다.
toJSONstring()과 parseObject()방법 으로 자바 대상 과 JSON 을 서로 변환 합 니 다.toJSONstring 방법 을 호출 하면 대상 을 JSON 문자열 로 변환 할 수 있 고,parseObject 방법 은 반대로 JSON 문자열 을 대상 으로 변환 합 니 다.
미리 존재 하 는 수정 할 수 없 는 대상 을 변환 할 수 있 습 니 다(class,소스 코드 만 있 습 니 다).
자바 범 형의 광범 위 한 지원.
대상 의 사용자 정의 표시,사용자 정의 직렬 화 클래스 를 허용 합 니 다.
임의의 복잡 한 대상 을 지원 합 니 다.
JSONobject 는 맵로 봅 니 다.
JSONARray 는 List 로 봅 니 다.
JSON.toString(Object)----> return String
JSON.parse(String)----->return Object
String 과 JSonObject 와 JSonArray 사이 전환
https://www.jb51.net/article/199602.htm
1.String 에서 JSONobject 또는 JSONarray 로 전환

JSONObject jSONObject = JSONObject.parseObject(String);
JSONArray jsonArray= JSONArray.parseArray(String);
2.JSONobject 의 배열 을 JSONarray 로 추출 합 니 다.
Result 에 대응 하 는 배열 추출

JSONArray jsonArray= jsonObject.getJSONArray(“Result”);
3.JSONarray 에서 JSONobject 로 추출

JSONObject jsonObject = jsonArray.getJSONObject(0);
在这里插入图片描述
4.JSONobject 에서 값 가 져 오기
1、object.getString("key")
2、object.get("key")

JSONArray jsonArray= jsonObject.getJSONArray(“Result”);
JSONObject jsonObject = jsonArray.getJSONObject(0);
json 이 entiy 의 body 에서 msg 로 되 돌아 오기
ResponseEntity 는 되 돌아 오 는 HttpStatus(상태 코드)와 HttpHeaders(메시지 헤더:요청 헤더 와 응답 헤더)를 정의 할 수 있 습 니 다.
HttpStatus(상태 코드)https://blog.csdn.net/csdn1844295154/article/details/78980174
HttpHeaders(메시지 헤더:요청 헤더 와 응답 헤더)https://www.cnblogs.com/honghong87/articles/6941436.html
구체 적 으로 이런 내용 을 살 펴 보 는 용법 은 참고 할 수 있다.https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Disposition
ResponseEntity 리 턴 바디
JsonResponseServlet

import java.io.Serializable;

public class JsonResponse<T> implements Serializable {
  private Integer code;
  private String msg;
  private T result;

  public JsonResponse() {
  }

  public JsonResponse(Integer code, String msg, T result) {
    this.code = code;
    this.msg = msg;
    this.result = result;
  }

  public Integer getCode() {
    return code;
  }

  public void setCode(Integer code) {
    this.code = code;
  }

  public String getMsg() {
    return msg;
  }

  public void setMsg(String msg) {
    this.msg = msg;
  }

  public T getResult() {
    return result;
  }

  public void setResult(T result) {
    this.result = result;
  }

  public static class JsonResponseUtil {
    public static JsonResponse<Object> ok() {
      return ok(null);
    }

    public static <T> JsonResponse<T> ok(T result) {
      return new JsonResponse<>(0, "", result);
    }

    public static JsonResponse<Object> error(Integer code) {
      return error(code, "error!");
    }

    public static JsonResponse<Object> error(String msg) {
      return error(-1, msg);
    }

    public static JsonResponse<Object> error(Integer code, String msg) {
      return new JsonResponse<>(code, msg, null);
    }
  }
}
controller

return ResponseEntity.ok(JsonResponse.JsonResponseUtil.ok(source));
제 이 슨 이 SpringBoot 에서 의 형식 전환 에 관 한 상세 한 설명 은 여기까지 입 니 다.더 많은 SpringBoot 제 이 슨 형식 전환 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기